
Generieke formule
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Samenvatting
Als u het eerste item in een tabel per maand en jaar wilt opzoeken, kunt u een matrixformule gebruiken op basis van de functies INDEX, MATCH en TEXT.
de ZOEKEN functie met de TEKST functie. In het getoonde voorbeeld is de formule in F5:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
waar "entry" het benoemde bereik C5: C13 is, "date" het benoemde bereik B5: B13 is en E5 een geldige datum bevat.
Dit is een matrixformule en moet worden ingevoerd met control + shift + enter.
Uitleg
Opmerking: de waarden in E5: E7 zijn werkelijke datums, opgemaakt met de aangepaste getalnotatie "mmjj".
Werkend van binnen naar buiten, de uitdrukking:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
gebruikt de TEXT-functie om een reeks strings te genereren in het formaat "mmjj":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
die een enkele string worden vergeleken op basis van de waarde in E5, "0117". Het resultaat is een reeks TRUE / FALSE-waarden:
(TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE)
die in de MATCH-functie worden ingevoerd als de lookup-array, met de opzoekwaarde TRUE en een match-type van nul voor exacte match. In exacte overeenkomstmodus retourneert de functie VERGELIJKEN de positie van de eerste WAAR in de matrix, wat 1 is in de formule in F5. Deze positie gaat naar INDEX als het rijnummer, met een array gebaseerd op het benoemde bereik "entry":
=INDEX(entry,1)
Index retourneert het item binnen het item op de opgegeven positie.
Opmerking: als er voor een bepaalde maand en een bepaald jaar geen invoer wordt gevonden, retourneert deze formule # N / A.
Eerste invoer op basis van de datum van vandaag
Om de eerste invoer voor een bepaalde maand en jaar te krijgen op basis van de datum van vandaag, kunt u de formule aanpassen om de functie TODAY te gebruiken in plaats van de waarde in E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))