Excel formula: Iskanje natančnega ujemanja z INDEX in MATCH -

Kazalo

Splošna formula

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

Povzetek

Iskanje glede na velike in male črke

Standardna iskanja z VLOOKUP ali INDEX + MATCH privzeto ne razlikujejo med velikimi in malimi črkami. Tako VLOOKUP kot MATCH bosta preprosto vrnila prvo tekmo, ne bo upoštevala velikih in malih črk.

Če pa želite iskati z malimi in malimi črkami, lahko to storite s formulo matrike, ki uporablja funkcije INDEX, MATCH in EXACT.

V primeru uporabljamo naslednjo formulo

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

Ta formula je formula matrike in jo je treba vnesti s tipkama Control + Shift + Enter.

Pojasnilo

Ker samo MATCH ni občutljiv na velike in male črke, potrebujemo način, da Excel primerjamo velike in male črke. Funkcija EXACT je popolna funkcija za to, vendar je način, kako jo uporabljamo, nekoliko nenavaden, ker moramo eno celico primerjati z vrsto celic.

Če delamo od znotraj navzven, imamo najprej:

EXACT(F4,B3:B102)

kjer F4 vsebuje iskalno vrednost, B3: B102 pa je sklic na iskalni stolpec (Imena). Ker kot drugi argument podajamo EXACT matriko, bomo dobili nazaj matriko TRUE napačnih vrednosti, kot je ta:

(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE itd.)

To je rezultat primerjave vrednosti v B4 v vsaki celici v iskalnem stolpcu. Kjer koli vidimo TRUE, vemo, da imamo natančno ujemanje, ki upošteva primer.

Zdaj moramo dobiti položaj (tj. Številko vrstice) vrednosti TRUE v tej matriki. Za to lahko uporabimo MATCH, ki išče TRUE in nastavimo v način natančnega ujemanja:

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

Pomembno je vedeti, da bo MATCH vedno vrnil prvo ujemanje, če obstajajo dvojniki, tako da, če se v stolpcu zgodi še eno natančno ujemanje, boste ujemali samo prvo.

Zdaj imamo številko vrstice. Nato moramo samo uporabiti INDEX, da pridobimo vrednost v desnem presečišču vrstice in stolpca. Številka stolpca je v tem primeru trdo kodirana kot 3, saj poimenovani podatki obsega vključujejo vse stolpce. Končna formula je:

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

To formulo moramo vnesti kot matrično formulo zaradi matrike, ki jo ustvari EXACT.

Ta formula bo pridobila tako besedilno kot številsko vrednost. Če želite pridobiti samo številke, lahko uporabite formulo, ki temelji na SUMPRODUCT; glej spodnjo povezavo

Zanimive Članki...