Formuła programu Excel: uzyskaj pierwszy wpis według miesiąca i roku -

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)))

Interesujące artykuły...