
Általános képlet
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Összegzés
A táblázat utolsó bejegyzésének hónap és év szerinti megkereséséhez használhatja a LOOKUP funkciót a TEXT funkcióval. A bemutatott példában az F5 képlete a következő:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
ahol a B5: B13 és E5: E7 érvényes dátumokat, a C5: C13 pedig összegeket tartalmaz.
Magyarázat
Megjegyzés: a 2 keresési_értéke szándékosan nagyobb, mint a keresési_vektor bármely értéke, a bignum fogalmát követve.
Belülről kifelé haladva a következő kifejezés:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
olyan karakterláncokat generál, mint a "0117", a B és E oszlopban szereplő értékek felhasználásával, amelyeket aztán összehasonlítanak egymással. Az eredmény egy ilyen tömb:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
ahol a TRUE ugyanazon hónap és év dátumát jelenti. Az 1. számot elosztjuk ezzel a tömbvel. Az eredmény 1-es tömb vagy nullával osztott hiba (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
ami a LOOKUP-ba kerül, mint a lookup tömb. A LOOKUP feltételezi, hogy az adatok növekvő sorrendben vannak rendezve, és mindig hozzávetőleges egyezést végeznek. Ha a 2 keresési értéke nem található, a LOOKUP megegyezik az előző értékkel, tehát a keresés megegyezik a tömb utolsó 1-jével.
Végül a LOOKUP visszaadja a result_vector megfelelő értékét, amely a C5: C13 összegeket tartalmazza.