Excel-Formel: Erhalten Sie den ersten Eintrag nach Monat und Jahr -

Generische Formel

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))

Zusammenfassung

Um den ersten Eintrag in einer Tabelle nach Monat und Jahr zu suchen, können Sie eine Array-Formel verwenden, die auf den Funktionen INDEX, MATCH und TEXT basiert.

die LOOKUP-Funktion mit der TEXT-Funktion. In dem gezeigten Beispiel lautet die Formel in F5:

=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))

Dabei ist "Eintrag" der benannte Bereich C5: C13, "Datum" der benannte Bereich B5: B13 und E5 ein gültiges Datum.

Dies ist eine Array-Formel und muss mit Strg + Umschalt + Eingabe eingegeben werden.

Erläuterung

Hinweis: Die Werte in E5: E7 sind tatsächliche Daten, die mit dem benutzerdefinierten Zahlenformat "mmyy" formatiert sind.

Von innen nach außen arbeiten, der Ausdruck:

MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")

verwendet die TEXT-Funktion, um ein Array von Zeichenfolgen im Format "mmyy" zu generieren:

("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")

die eine einzelne Zeichenfolge basierend auf dem Wert in E5 "0117" verglichen werden. Das Ergebnis ist ein Array von TRUE / FALSE-Werten:

(WAHR; WAHR; WAHR; FALSCH; FALSCH; FALSCH; FALSCH; FALSCH; FALSCH)

Diese werden als Lookup-Array mit einem Lookup-Wert von TRUE und einem Match-Typ von Null für eine exakte Match-Funktion in die MATCH-Funktion eingespeist. Im exakten Übereinstimmungsmodus gibt die MATCH-Funktion die Position des ersten TRUE im Array zurück, die in der Formel in F5 1 ist. Diese Position wird als Zeilennummer in INDEX eingegeben, wobei ein Array auf dem benannten Bereich "entry" basiert:

=INDEX(entry,1)

Index gibt das Element innerhalb des Eintrags an der angegebenen Position zurück.

Hinweis: Wenn für einen bestimmten Monat und ein bestimmtes Jahr kein Eintrag gefunden wird, gibt diese Formel # N / A zurück.

Erster Eintrag basierend auf dem heutigen Datum

Um den ersten Eintrag für einen bestimmten Monat und ein bestimmtes Jahr basierend auf dem heutigen Datum zu erhalten, können Sie die Formel so anpassen, dass anstelle des Werts in E5 die Funktion HEUTE verwendet wird:

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))

Interessante Beiträge...