![](https://cdn.wiki-base.com/6860238/excel_formula_get_last_entry_by_month_and_year__2.png.webp)
Yleinen kaava
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Yhteenveto
Voit etsiä taulukon viimeisen merkinnän kuukausittain ja vuodelta käyttämällä LOOKUP-funktiota TEXT-toiminnon kanssa. Esitetyssä esimerkissä kaava kohdassa F5 on:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
missä B5: B13 ja E5: E7 sisältävät kelvolliset päivämäärät ja C5: C13 sisältää määrät.
Selitys
Huomaa: 2: n hakuarvo on tarkoituksellisesti suurempi kuin mikään hakuvektorin arvo, noudattaen bignumin käsitettä.
Työskentelemällä sisältä ulospäin, lauseke:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
generoi merkkijonot kuten "0117" käyttämällä sarakkeiden B ja E arvoja, joita sitten verrataan toisiinsa. Tuloksena on tällainen taulukko:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
jossa TOSI edustaa saman kuukauden ja vuoden päivämääriä. Numero 1 jaetaan sitten tällä taulukolla. Tuloksena on joko 1: n tai jako nollavirheillä (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
joka siirtyy LOOKUP-hakutaulukkoon. LOOKUP olettaa, että tiedot on lajiteltu nousevassa järjestyksessä ja tekee aina likimääräisen vastaavuuden. Kun hakuarvoa 2 ei löydy, LOOKUP vastaa edellistä arvoa, joten haku vastaa matriisin viimeistä yhtä.
Lopuksi LOOKUP palauttaa vastaavan arvon tulos_vektorissa, joka sisältää määrät kohdassa C5: C13.