Abrufen des vorletzten Werts in einer Spalte (Microsoft Excel)
Cedric muss den Wert der vorletzten Zelle in der Spalte bestimmen, zu der er routinemäßig Werte hinzufügt. Er hat Formeln gesehen, um den letzten Wert zu erfassen, aber nicht den vorletzten.
Es gibt viele formelmäßige Möglichkeiten, wie Sie diesem Bedarf begegnen können. In vielerlei Hinsicht hängt die von Ihnen gewählte Methode von den Merkmalen der Daten in der Spalte ab. Nehmen wir an, dass sich Ihre Daten in Spalte A befinden, dass sie numerisch sind und dass in keiner der Zellen in der Spalte Leerzeichen vorhanden sind. In diesem Fall können Sie die folgende Formel verwenden:
=INDEX(A:A,COUNT(A:A)-1)
Beachten Sie, dass diese Formel nicht das richtige Ergebnis zurückgibt, wenn in Spalte A Textwerte vorhanden sind – auch wenn sich dieser Textwert in einer Überschrift befindet. Wenn Sie die Überschrift kompensieren möchten, können Sie die Formel auf diese Weise ändern. (Beachten Sie, dass nur der Bereich von A2: A1000 überprüft wird. Wenn Ihre Daten über Zeile 1.000 hinausgehen, müssen Sie den angegebenen Bereich ändern.)
=INDEX(A2:A1000,COUNT(A2:A1000)-1)
Wenn Ihre numerischen Daten möglicherweise leere Zellen enthalten, funktioniert eine der folgenden Formeln einwandfrei:
=OFFSET(INDIRECT("A"&MATCH(9^9,A:A)),-1,0) =INDEX(A:A,MATCH(9.9E+23,A:A,1)-1,1) =INDEX(A:A,(MATCH(LOOKUP(10000,A:A),A:A)-1),1) =INDEX(A:A,AGGREGATE(14,6,ROW(A:A)*A:A/A:A,2))
Sie sollten erkennen, dass diese Formeln 0 zurückgeben, wenn die vorletzte Zelle in der Spalte leer ist. (Nun, mit Ausnahme der Formel, die die Funktion AGGREGATE verwendet. Sie gibt den Wert in der ersten nicht leeren Zelle zuvor zurück die vorletzte Zelle.)
Wenn Ihre Daten in Spalte A entweder Zahlen oder Text enthalten können (aber immer noch keine leeren Zellen), benötigen Sie eine andere Formel. Beides reicht aus:
=INDEX(A:A,COUNTA(A:A)-1,1) =INDIRECT("A"&COUNTA(A:A)-1)
Wenn Ihre Daten möglicherweise leere Zellen enthalten, können Sie eine der folgenden Methoden verwenden:
=INDEX(A:A,MATCH(LOOKUP(2,1/(A:A<>""),A:A),A:A,0)-1) =INDEX(A:A,LOOKUP(2,1/(A:A<>""),ROW(A:A))-1)
Wenn die vorletzte Zelle leer ist, gibt die Formel 0 zurück.
Schließlich können Sie auch den folgenden Formeltyp verwenden, vorausgesetzt, Ihre Zellen in der Spalte verwenden einen benannten Bereich (in diesem Fall MyData).
Beachten Sie jedoch, dass Sie beim Hinzufügen weiterer Informationen zur Spalte sicherstellen müssen, dass der angegebene Bereich die hinzugefügten Daten enthält.
=INDEX(MyData,ROWS(MyData)-1)
Sie sollten beachten, dass praktisch alle in diesem Tipp genannten Formeln ein -1 verwenden. Dies zeigt an, dass Sie nicht die letzte Zelle im Bereich möchten, sondern die vorletzte („eins nach oben“ vom unteren Rand des Bereichs).
Wenn Sie einen anderen Versatz vom unteren Rand des Bereichs wünschen, können Sie diesen Teil jeder Formel ändern. Wenn Sie beispielsweise 2 Zellen vom unteren Rand des Bereichs entfernt haben möchten, würden Sie alle Instanzen von -1 in -2 ändern.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (1523) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.