![](https://cdn.wiki-base.com/6860238/excel_formula_get_last_entry_by_month_and_year__2.png.webp)
Splošna formula
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Povzetek
Za iskanje zadnjega vnosa v tabeli po mesecih in letih lahko uporabite funkcijo LOOKUP s funkcijo TEXT. V prikazanem primeru je formula v F5:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
kjer B5: B13 in E5: E7 vsebujejo veljavne datume, C5: C13 pa zneske.
Pojasnilo
Opomba: lookup_value of 2 je namerno večja od katere koli vrednosti v lookup_vector, po konceptu bignum.
Delo od znotraj navzven, izraz:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
generira nize, kot je "0117", z uporabo vrednosti v stolpcih B in E, ki se nato primerjajo med seboj. Rezultat je matrika, kot je ta:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
kjer TRUE predstavlja datume v istem mesecu in letu. Število 1 se nato deli s to matriko. Rezultat je niz bodisi 1 bodisi napake deljene z nič (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
ki gre v LOOKUP kot iskalno polje. LOOKUP predpostavlja, da so podatki razvrščeni po naraščajočem vrstnem redu in se vedno približno ujemajo. Ko iskalne vrednosti 2 ni mogoče najti, se bo LOOKUP ujemal s prejšnjo vrednostjo, zato se bo iskanje ujemalo z zadnjo enoto v matriki.
Nazadnje LOOKUP vrne ustrezno vrednost v result_vector, ki vsebuje zneske v C5: C13.