Excel-formel: Oppsøk nøyaktig samsvar med INDEX og MATCH -

Innholdsfortegnelse

Generisk formel

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

Sammendrag

Saksfølsom oppslag

Som standard er standardoppslag med VLOOKUP eller INDEX + MATCH ikke store og små bokstaver. Både VLOOKUP og MATCH vil ganske enkelt returnere den første kampen, og ignorerer saken.

Men hvis du trenger å søke etter store og små bokstaver, kan du gjøre det med en matriseformel som bruker INDEX, MATCH og EXACT-funksjonen.

I eksemplet bruker vi følgende formel

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

Denne formelen er en matriseformel og må angis med Control + Shift + Enter.

Forklaring

Siden MATCH alene ikke er mellom store og små bokstaver, trenger vi en måte å få Excel til å sammenligne sak. EXACT-funksjonen er den perfekte funksjonen for dette, men måten vi bruker den på er litt uvanlig, fordi vi må sammenligne en celle med en rekke celler.

Arbeider fra innsiden og ut, har vi først:

EXACT(F4,B3:B102)

der F4 inneholder oppslagsverdien, og B3: B102 er en referanse til oppslagskolonnen (Fornavn). Fordi vi gir EXACT en matrise som et annet argument, vil vi få tilbake en matrise med SANTE falske verdier som dette:

(FALSK, FALSK, FALSK, FALSK, FALSK, SANN osv.)

Dette er resultatet av å sammenligne verdien i B4 hver celle i oppslagskolonnen. Uansett hvor vi ser SANT, vet vi at vi har en nøyaktig samsvar som respekterer saken.

Nå må vi få posisjonen (dvs. radnummeret) til den SANNE verdien i denne matrisen. For dette kan vi bruke MATCH, på jakt etter SANT og sette i eksakt samsvar-modus:

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

Det er viktig å merke seg at MATCH alltid vil returnere den første kampen hvis det er duplikater, så hvis det tilfeldigvis er et annet eksakt samsvar i kolonnen, vil du bare matche den første.

Nå har vi radnummer. Deretter trenger vi bare å bruke INDEX for å hente verdien i høyre rad og kolonnekryss. Kolonne nummer i dette tilfelle er hardkodet som tre, ettersom det navngitte området data omfatter alle kolonner. Den endelige formelen er:

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

Vi må angi denne formelen som en matriseformel på grunn av matrisen opprettet av EXACT.

Denne formelen henter både tekst- og numeriske verdier. Hvis du bare vil hente tall, kan du bruke en formel basert på SUMPRODUCT; se lenke nedenfor

Interessante artikler...