Excel-formule: laatste invoer per maand en jaar ophalen -

Inhoudsopgave

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.

Interessante artikelen...