Excel

Nøjagtigt matchopslag med INDEX og MATCH

Exact Match Lookup With Index

Excel -formel: Nøjagtigt matchopslag med INDEX og MATCHGenerisk formel | _+_ | Resumé

Kuffertfølsom opslag

Som standard er standardopslag med VLOOKUP eller INDEX + MATCH ikke store og små bogstaver. Både VLOOKUP og MATCH returnerer ganske enkelt den første kamp og ignorerer sag.





Men hvis du har brug for at foretage et case-sensitive opslag, kan du gøre det med en matrixformel, der bruger INDEX, MATCH og EXAKT-funktionen.

I eksemplet bruger vi følgende formel





tæl unikke værdier i pivottabellen
{= INDEX (data, MATCH (TRUE, EXACT (val,lookup_col),0),col_num)}

Denne formel er en matrixformel og skal indtastes med Control + Shift + Enter.

Forklaring

Da MATCH alene ikke er store og små bogstaver, skal vi bruge Excel til at sammenligne store og små bogstaver. EXAKT -funktionen er den perfekte funktion til dette, men den måde, vi bruger den på, er lidt usædvanlig, fordi vi skal sammenligne en celle med en række celler.



Når vi arbejder indefra og ud, har vi først:

 
{= INDEX (data, MATCH (TRUE, EXACT (F4,B3:B102),0),3)}

hvor F4 indeholder opslagsværdien, og B3: B102 er en reference til opslagskolonnen (Fornavne). Fordi vi giver PRÆCIS en array som et andet argument, vil vi kom tilbage en vifte af Sande falske værdier som denne:

excel tæller hverdage mellem to datoer

{FALSK, FALSK, FALSK, FALSK, FALSK, SAND osv.}

Dette er resultatet af sammenligning af værdien i B4 hver celle i opslagskolonnen. Uanset hvor vi ser SAND, ved vi, at vi har et nøjagtigt match, der respekterer sag.

Nu skal vi hente positionen (dvs. rækkenummeret) for den Sande værdi i dette array. Til dette kan vi bruge MATCH, lede efter TRUE og indstille i nøjagtig match -tilstand:

få ugedag fra dato
 
 EXACT (F4,B3:B102)

Det er vigtigt at bemærke, at MATCH altid returnerer først match, hvis der er dubletter, så hvis der tilfældigvis er et andet eksakt match i kolonnen, matcher du kun den første.

Nu har vi et rækkenummer. Dernæst skal vi bare bruge INDEX til at hente værdien i den højre række og kolonnekryds. Kolonnenummeret i dette tilfælde er hårdt kodet som 3, siden det navngivne område data indeholder alle kolonner. Den sidste formel er:

 
 MATCH (TRUE, EXACT (F4,B3:B102),0)

Vi er nødt til at indtaste denne formel som en matrixformel på grund af den matrix, der er oprettet af EXACT.

Denne formel henter både tekst og numeriske værdier. Hvis du kun vil hente tal, kan du bruge en formel baseret på SUMPRODUCT se linket herunder

Forfatter Dave Bruns


^