
Generisk formel
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Resumé
For at slå den første post i en tabel op efter måned og år, kan du bruge og matrixformel baseret på INDEX-, MATCH- og TEXT-funktionerne.
LOOKUP-funktionen med TEXT-funktionen. I det viste eksempel er formlen i F5:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
hvor "indgang" er det navngivne område C5: C13, "dato" er det navngivne område B5: B13, og E5 indeholder en gyldig dato.
Dette er en matrixformel og skal indtastes med kontrol + skift + enter.
Forklaring
Bemærk: værdierne i E5: E7 er faktiske datoer, formateret med det brugerdefinerede nummerformat "mmyy".
Arbejder indefra og ud, udtrykket:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
bruger TEKST-funktionen til at generere en række strenge i formatet "mmyy":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
der sammenlignes en enkelt streng baseret på værdien i E5, "0117". Resultatet er en matrix med SAND / FALSK-værdier:
(SAND; SAND; SAND; FALSK; FALSK; FALSK; FALSK; FALSK; FALSK)
som føjes til MATCH-funktionen som opslagsarray, med en opslagsværdi på SAND og en matchningstype nul for nøjagtig matchning. I nøjagtig matchningstilstand returnerer MATCH-funktionen placeringen af den første TRUE i arrayet, som er 1 i formlen i F5. Denne position går ind i INDEX som række nummer med en matrix baseret på det navngivne interval "post":
=INDEX(entry,1)
Indeks returnerer elementet inden for posten på den angivne position.
Bemærk: Hvis en post ikke findes i en given måned og et år, returnerer denne formel # N / A.
Første post baseret på dagens dato
For at få den første post for en given måned og et år baseret på dagens dato kan du tilpasse formlen til at bruge funktionen DAG i stedet for værdien i E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))