Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Vorletzten Wert einer Spalte

Vorletzten Wert einer Spalte
07.04.2017 08:55:39
Ralph
Hallo,
ich suche verzweifelt eine Formel, die mir den vorletzten Wert einer Spalte zeigt. Im Netz hab ich unter anderem dieses gefunden:
=INDIREKT("A"&KGRÖSSTE(WENN(ISTLEER(A1:A20);0;ZEILE(A1:A20));2))
als Matrixformel abgeschlossen
Mein Problem ist, dass sie auch Felder mit einbezieht, die zwar Formeln beinhalten, deren Ergebnis aber 0 ist. So wird fast immer null als vorhetzter Wert ausgegeben. Wie kann ich diese ändern, dass solche Felder nicht berücksichtigt werden. Mit Dank im Voraus.
Ralph
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vorletzten Wert einer Spalte
07.04.2017 09:14:35
Ralph
Danke schön, aber welche ist denn da für mich die richtige...ich suche ja den vorletzten Wert ohne Berücksichtigung der Formel-Nullen
AW: Vorletzten Wert einer Spalte
07.04.2017 09:15:48
SF
Hola,
=INDEX(A1:A20;KGRÖSSTE((A1:A200)*ZEILE(1:20);2))

Gruß,
steve1da
Anzeige
AW: Vorletzten Wert einer Spalte
07.04.2017 09:32:00
Ralph
Es funktioniert nicht...hab ein Beispiel hochgeladen. Deine Formel in A 1 soll eigentlich die 100 zeigen. Was kann ich da machen...
https://www.herber.de/bbs/user/112712.xlsx
AW: Vorletzten Wert einer Spalte
07.04.2017 09:55:38
hary
Moin
Du musst die Zeile so lassen. Ob der Bereich bei A1:A20 oder A5:A25 geht es sind immer 20 Zeilen.



Tabelle1
 A
1100

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
A1{=INDEX(A5:A24;KGRÖSSTE((A5:A24<>0)*ZEILE(1:20);2))}$A$1 =INDEX(R[4]C:R[23]C,LARGE((R[4]C:R[23]C<>0)*ROW(R:R[19]),2))
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!


http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary
Anzeige
AW: Vorletzten Wert einer Spalte
07.04.2017 10:09:51
Ralph
Das wars...wusste nicht, dass das für die Anzahl der Zeilen steht. Lerne mich gerade intensiv rein. Hab 32 Bücher zu Excel. Dauert aber alles ;-). Irgendwann will ich hier dann auch mal eine Hilfe sein. Auch dir herzlichen Dank
AW: Vorletzten Wert einer Spalte
07.04.2017 09:56:14
SF
Hola,
der Bereich 5:24 umfasst 20 Zeilen. Dass musst du im Zeile()-Teil berücksichtigen.
Entweder:
=INDEX(A5:A24;KGRÖSSTE((A5:A240)*ZEILE(1:20);2))
oder
=INDEX(A5:A24;KGRÖSSTE((A5:A240)*ZEILE(5:24)-4;2))

Gruß,
steve1da
Anzeige
AW: Vorletzten Wert einer Spalte
07.04.2017 09:56:15
SF
Hola,
der Bereich 5:24 umfasst 20 Zeilen. Dass musst du im Zeile()-Teil berücksichtigen.
Entweder:
=INDEX(A5:A24;KGRÖSSTE((A5:A240)*ZEILE(1:20);2))
oder
=INDEX(A5:A24;KGRÖSSTE((A5:A240)*ZEILE(5:24)-4;2))

Gruß,
steve1da
Anzeige
AW: Vorletzten Wert einer Spalte
07.04.2017 10:07:37
Ralph
Ach so...jetzt gehts...Das steht also für die Anzahl der Zeilen. Hab herzlichen Dank
AW: einfacher und schneller ohne {} ...
07.04.2017 15:12:21
...
Hallo Ralph,
... zu dem von Dir gewünschten Ergebnis, bedarf es keiner klassischen Matrixformel, die mit einem abschließenden Strg+Shift+Enter erzeugt werden muss.
Es reicht ein zusätzliches INDEX() oder der Einsatz von AGGREGAT() anstelle von KKLEINSTE().
Also:
=INDEX(A:A;KGRÖSSTE(INDEX((A5:A240)*ZEILE(A5:A24););2))
oder kürzer und auch etwas schneller (weil weniger Funktionen beteiligt sind)
=INDEX(A:A;AGGREGAT(14;6;ZEILE(A5:A24)/(A5:A240);2))
Beide Formeln bedürfen keines spez. Eingabeabschlusses.
Gruß Werner
.. , - ...
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Vorletzten Wert einer Spalte finden


Schritt-für-Schritt-Anleitung

Um den vorletzten Wert einer Spalte in Excel zu ermitteln, kannst Du die folgende Matrixformel verwenden. Dies ist besonders nützlich, wenn Du sicherstellen möchtest, dass nur echte Werte und keine Nullwerte berücksichtigt werden:

  1. Wähle die Zelle aus, in der das Ergebnis angezeigt werden soll.
  2. Gib die Formel ein:
    =INDEX(A1:A20;KGRÖSSTE((A1:A20<>0)*ZEILE(A1:A20);2))
  3. Schließe die Eingabe mit Strg + Umschalt + Enter ab, um die Formel als Matrixformel zu aktivieren. Du wirst sehen, dass die Formel in geschweifte Klammern {} gesetzt wird.

Achte darauf, dass der Zellbereich in der Formel (hier A1:A20) an Deine Daten angepasst wird.


Häufige Fehler und Lösungen

  • Fehler: Die Formel gibt Null zurück.
    Ursache: Dies kann passieren, wenn alle Werte in dem angegebenen Bereich Null sind. Stelle sicher, dass tatsächlich Werte vorhanden sind, die nicht Null sind.

  • Fehler: Die Formel funktioniert nicht.
    Ursache: Überprüfe, ob Du die Eingabe mit Strg + Umschalt + Enter abgeschlossen hast. Wenn dies nicht korrekt durchgeführt wird, wird die Formel als normale Formel interpretiert und funktioniert nicht wie gewünscht.


Alternative Methoden

Es gibt auch einfachere Methoden, um den vorletzten Wert zu erhalten, die keine Matrixformeln benötigen. Eine Alternative ist die Verwendung der Funktion AGGREGAT():

  1. Verwende die folgende Formel:
    =INDEX(A:A;AGGREGAT(14;6;ZEILE(A5:A24)/(A5:A240);2))
  2. Diese Methode ist schneller, da sie weniger Funktionen verwendet und keine spezielle Eingabemethode erfordert.

Praktische Beispiele

Angenommen, Du hast die folgenden Werte in den Zellen A1 bis A20:

A
100
0
50
0
75
0
25
0
10
0
5

Um den vorletzten Wert zu finden, der nicht Null ist, gib die oben genannte Formel ein. Das Ergebnis in diesem Fall wäre 25.


Tipps für Profis

  • Achte darauf, dass Du den Bereich an Deine tatsächlichen Daten anpasst; dies verbessert die Performance.
  • Nutze AGGREGAT() für eine bessere Handhabung von Fehlern und um Daten, die leer oder 0 sind, zu ignorieren.
  • Wenn Du oft mit solchen Berechnungen arbeitest, überlege, ob Du diese Formeln als benutzerdefinierte Funktionen in VBA speichern möchtest.

FAQ: Häufige Fragen

1. Wie kann ich die Formel anpassen, wenn ich mehr als 20 Zeilen habe?
Du kannst den Zellbereich in der Formel anpassen. Ersetze A1:A20 durch den gewünschten Bereich, z. B. A1:A100.

2. Was mache ich, wenn ich die Formel nicht als Matrixformel eingeben kann?
Stelle sicher, dass Du die Formel korrekt eingibst und die richtige Tastenkombination (Strg + Umschalt + Enter) verwendest. Alternativ kannst Du die AGGREGAT()-Methode verwenden, die keine spezielle Eingabe erfordert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige