Excel vzorec: Presné vyhľadávanie zhody s INDEX a MATCH -

Všeobecný vzorec

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

Zhrnutie

Rozlišovanie malých a veľkých písmen

Štandardne sa pri štandardnom vyhľadávaní pomocou VLOOKUP alebo INDEX + MATCH nerozlišujú veľké a malé písmená. VLOOKUP aj MATCH jednoducho vrátia prvý zápas a ignorujú veľké a malé písmená.

Ak však potrebujete vyhľadať veľké a malé písmená, môžete tak urobiť pomocou maticového vzorca, ktorý používa funkciu INDEX, MATCH a EXACT.

V príklade používame nasledujúci vzorec

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

Tento vzorec je maticový vzorec a musí byť zadaný pomocou kombinácie klávesov Control + Shift + Enter.

Vysvetlenie

Pretože samotný MATCH nerozlišuje veľké a malé písmená, potrebujeme spôsob, ako získať Excel na porovnanie malých a veľkých písmen. Funkcia EXACT je na to ideálnou funkciou, ale spôsob, akým ju používame, je trochu neobvyklý, pretože musíme porovnať jednu bunku s rozsahom buniek.

Pri práci zvnútra smerom von máme najskôr:

EXACT(F4,B3:B102)

kde F4 obsahuje vyhľadávaciu hodnotu a B3: B102 je odkaz na vyhľadávací stĺpec (krstné mená). Pretože ako druhý argument dávame EXACT pole, dostaneme späť pole TRUE nepravdivých hodnôt, ako je toto:

(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE atď.)

Toto je výsledok porovnania hodnoty v B4 každej bunke vo vyhľadávacom stĺpci. Kdekoľvek vidíme PRAVDA, vieme, že máme presnú zhodu, ktorá rešpektuje veľkosť písmen.

Teraz musíme v tomto poli získať pozíciu (tj. Číslo riadku) TRUE hodnoty. Na to môžeme použiť MATCH, hľadať TRUE a nastaviť v režime presnej zhody:

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

Je dôležité si uvedomiť, že MATCH vždy vráti prvú zhodu, ak existujú duplikáty, takže ak sa v stĺpci stane iná presná zhoda, bude sa zhodovať iba s prvou.

Teraz máme číslo riadku. Ďalej už stačí použiť INDEX na získanie hodnoty v pravom priesečníku riadkov a stĺpcov. Číslo stĺpca je v tomto prípade pevne zakódované ako 3, pretože pomenované údaje rozsahu zahŕňajú všetky stĺpce. Konečný vzorec je:

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

Tento vzorec musíme zadať ako vzorec poľa, pretože pole bolo vytvorené PRESNE.

Tento vzorec načíta textové aj číselné hodnoty. Ak chcete načítať iba čísla, môžete použiť vzorec založený na SUMPRODUCT; pozri odkaz nižšie

Zaujímavé články...