![](https://cdn.wiki-base.com/6860238/excel_formula_get_last_entry_by_month_and_year__2.png.webp)
Generieke formule
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Samenvatting
Om het laatste item in een tabel op maand en jaar op te zoeken, kunt u de functie ZOEKEN gebruiken met de functie TEKST. In het getoonde voorbeeld is de formule in F5:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
waarbij B5: B13 en E5: E7 geldige datums bevatten en C5: C13 bedragen bevat.
Uitleg
Opmerking: de lookup_value van 2 is opzettelijk groter dan alle waarden in de lookup_vector, volgens het concept van bignum.
Werkend van binnen naar buiten, de uitdrukking:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
genereert strings zoals "0117" met behulp van de waarden in kolom B en E, die vervolgens met elkaar worden vergeleken. Het resultaat is een array als deze:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
waar WAAR staat voor datums in dezelfde maand en hetzelfde jaar. Het getal 1 wordt vervolgens gedeeld door deze array. Het resultaat is een array van 1'en of delen door nul fouten (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
die naar LOOKUP gaat als de lookup-array. ZOEKEN gaat ervan uit dat de gegevens in oplopende volgorde zijn gesorteerd en komen altijd bij benadering overeen. Als de opzoekwaarde van 2 niet kan worden gevonden, komt LOOKUP overeen met de vorige waarde, dus zoeken komt overeen met de laatste 1 in de array.
Ten slotte retourneert ZOEKEN de overeenkomstige waarde in result_vector, die de bedragen in C5: C13 bevat.