Generisk formel
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Sammendrag
For å slå opp den siste oppføringen i en tabell etter måned og år, kan du bruke LOOKUP-funksjonen med TEXT-funksjonen. I eksemplet vist er formelen i F5:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
der B5: B13 og E5: E7 inneholder gyldige datoer, og C5: C13 inneholder mengder.
Forklaring
Merk: oppslagsverdien til 2 er bevisst større enn noen verdier i oppslagsvektoren, i henhold til begrepet bignum.
Arbeider fra innsiden og ut, uttrykket:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
genererer strenger som "0117" ved hjelp av verdiene i kolonne B og E, som deretter sammenlignes med hverandre. Resultatet er en matrise som dette:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
der SANT representerer datoer i samme måned og år. Nummeret 1 blir deretter delt med denne matrisen. Resultatet er en matrise av enten 1 eller del med null feil (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
som går inn på LOOKUP som oppslagsmatrise. LOOKUP antar at data er sortert i stigende rekkefølge og alltid samsvarer omtrent. Når oppslagsverdien 2 ikke blir funnet, vil LOOKUP matche den forrige verdien, så oppslag vil matche den siste 1 i matrisen.
Til slutt returnerer LOOKUP den tilsvarende verdien i result_vector, som inneholder beløpene i C5: C13.