
Generisk formel
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Sammanfattning
För att slå upp den första posten i en tabell efter månad och år kan du använda och matrisformel baserad på funktionerna INDEX, MATCH och TEXT.
LOOKUP-funktionen med TEXT-funktionen. I exemplet som visas är formeln i F5:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
där "post" är det namngivna intervallet C5: C13, "datum" är det namngivna intervallet B5: B13 och E5 innehåller ett giltigt datum.
Detta är en matrisformel och måste anges med kontroll + skift + enter.
Förklaring
Obs: värdena i E5: E7 är faktiska datum, formaterade med det anpassade nummerformatet "mmyy".
Arbetar inifrån och ut, uttrycket:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
använder TEXT-funktionen för att generera en rad strängar i formatet "mmyy":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
som jämförs med en enda sträng baserat på värdet i E5, "0117". Resultatet är en matris med SANT / FALSKA värden:
(SANN; SANT; SANT; FALSK; FALSK; FALSK; FALSK; FALSK; FALSK)
som matas in i MATCH-funktionen som uppslagsmatris, med ett uppslagsvärde SANT och en matchningstyp noll för exakt matchning. I exakt matchningsläge returnerar MATCH-funktionen positionen för den första TRUE i matrisen, som är 1 i formeln i F5. Denna position går in i INDEX som radnummer, med en matris baserad på det angivna intervallet "post":
=INDEX(entry,1)
Index returnerar artikeln inuti posten på den angivna positionen.
Obs! Om en post inte hittades för en viss månad och ett år kommer den här formeln att returnera # N / A.
Första inlägg baserat på dagens datum
För att få den första posten för en viss månad och ett år baserat på dagens datum kan du anpassa formeln för att använda TODAY-funktionen istället för värdet i E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))