Excel-formule: eerste invoer per maand en jaar -

Inhoudsopgave

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)))

Interessante artikelen...