
Generische Formel
=LOOKUP(2,1/(A:A""),A:A)
Zusammenfassung
Um den Wert der letzten nicht leeren Zelle in einer Zeile oder Spalte zu ermitteln, können Sie die LOOKUP-Funktion in dieser überraschend kompakten Formel verwenden. Als zusätzlichen Bonus ist diese Formel keine Array-Formel und nicht flüchtig.
Erläuterung
Der Schlüssel zum Verständnis dieser Formel besteht darin, zu erkennen, dass der lookup_value von 2 absichtlich größer ist als alle Werte, die im lookup_vector angezeigt werden.
- Der Ausdruck A: A "" gibt ein Array von wahren und falschen Werten zurück: (TRUE, FALSE, TRUE, …).
- Die Zahl 1 wird dann durch dieses Array geteilt und erstellt ein neues Array, das entweder aus Einsen oder durch Null Fehler (# DIV / 0!) Besteht: (1,0,1,…). Dieses Array ist der lookup_vector.
- Wenn lookup_value nicht gefunden werden kann, stimmt LOOKUP mit dem nächstkleineren Wert überein.
- In diesem Fall ist der Lookup-Wert 2, aber der größte Wert im Lookup-Array ist 1, sodass Lookup mit der letzten 1 im Array übereinstimmt.
- LOOKUP gibt den entsprechenden Wert in result_vector zurück (dh den Wert an derselben Position).
Umgang mit Fehlern
Wenn im lookup_vector Fehler vorliegen, insbesondere wenn in der letzten nicht leeren Zelle ein Fehler vorliegt, muss diese Formel angepasst werden. Diese Anpassung ist erforderlich, da "" Kriterien selbst einen Fehler zurückgeben, wenn eine Zelle einen Fehler enthält. Um dieses Problem zu umgehen, verwenden Sie ISBLANK mit NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Letzter numerischer Wert
Um den letzten numerischen Wert zu erhalten, können Sie die ISNUMBER-Funktion folgendermaßen hinzufügen:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Position des letzten Wertes
Wenn Sie die Position (in diesem Fall die Zeilennummer) des letzten Werts erhalten möchten, können Sie eine Formel wie die folgende ausprobieren:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Hier geben wir die Zeilennummern des gleichen Bereichs in die Suche nach dem Ergebnisvektor ein und erhalten die Zeilennummer der letzten Übereinstimmung zurück.