
Formuła ogólna
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Podsumowanie
Aby wyszukać pierwszy wpis w tabeli według miesiąca i roku, można użyć formuły tablicowej opartej na funkcjach INDEKS, PODAJ.POZYCJĘ i TEKST.
funkcję WYSZUKAJ z funkcją TEKST. W pokazanym przykładzie formuła w F5 to:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
gdzie „wpis” to nazwany zakres C5: C13, „data” to nazwany zakres B5: B13, a E5 zawiera prawidłową datę.
To jest formuła tablicowa i należy ją wprowadzić za pomocą Ctrl + Shift + Enter.
Wyjaśnienie
Uwaga: wartości w E5: E7 to rzeczywiste daty sformatowane przy użyciu niestandardowego formatu liczb „mmyy”.
Działając od wewnątrz, wyrażenie:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
używa funkcji TEKST do generowania tablicy ciągów w formacie „mmyy”:
(„0117”; „0117”; „0117”; „0217”; „0217”; „0217”; „0317”; „0317”; „0317”)
które są porównywane z pojedynczym ciągiem znaków na podstawie wartości w E5, „0117”. Wynikiem jest tablica wartości PRAWDA / FAŁSZ:
(TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE)
które są wprowadzane do funkcji PODAJ.POZYCJĘ jako tablica przeglądowa, z wartością wyszukiwania PRAWDA i typem dopasowania równym zero dla dokładnego dopasowania. W trybie dopasowania ścisłego funkcja PODAJ.POZYCJĘ zwraca pozycję pierwszej wartości PRAWDA w tablicy, czyli 1 w formule w F5. Ta pozycja przechodzi do INDEKSU jako numer wiersza, z tablicą opartą na nazwanym „wpisie” zakresu:
=INDEX(entry,1)
Indeks zwraca element wewnątrz wpisu na określonej pozycji.
Uwaga: jeśli wpis nie zostanie znaleziony dla danego miesiąca i roku, ta formuła zwróci # N / A.
Pierwszy wpis oparty na dzisiejszej dacie
Aby uzyskać pierwszy wpis dla danego miesiąca i roku na podstawie dzisiejszej daty, możesz dostosować formułę tak, aby używała funkcji DZIŚ zamiast wartości w E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))