Excel-Formel: Letzter Eintrag nach Monat und Jahr abrufen -

Inhaltsverzeichnis

Generische Formel

=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)

Zusammenfassung

Um den letzten Eintrag in einer Tabelle nach Monat und Jahr zu suchen, können Sie die LOOKUP-Funktion mit der TEXT-Funktion verwenden. In dem gezeigten Beispiel lautet die Formel in F5:

=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)

wobei B5: B13 und E5: E7 gültige Daten enthalten und C5: C13 Beträge enthält.

Erläuterung

Hinweis: Der lookup_value von 2 ist absichtlich größer als alle Werte im lookup_vector und folgt dem Konzept von bignum.

Von innen nach außen arbeiten, der Ausdruck:

(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))

generiert Zeichenfolgen wie "0117" unter Verwendung der Werte in Spalte B und E, die dann miteinander verglichen werden. Das Ergebnis ist ein Array wie folgt:

(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Dabei steht TRUE für Daten im selben Monat und Jahr. Die Nummer 1 wird dann durch dieses Array geteilt. Das Ergebnis ist ein Array von entweder 1 oder dividiert durch Null Fehler (# DIV / 0!):

(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)

Das geht in LOOKUP als Lookup-Array. LOOKUP geht davon aus, dass die Daten in aufsteigender Reihenfolge sortiert sind und immer eine ungefähre Übereinstimmung aufweisen. Wenn der Suchwert 2 nicht gefunden werden kann, stimmt LOOKUP mit dem vorherigen Wert überein, sodass die Suche mit der letzten 1 im Array übereinstimmt.

Schließlich gibt LOOKUP den entsprechenden Wert in result_vector zurück, der die Beträge in C5: C13 enthält.

Interessante Beiträge...