Excel vzorec: Přesné vyhledávání shody s INDEX a MATCH -

Obsah

Obecný vzorec

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

souhrn

Vyhledání malých a velkých písmen

Ve výchozím nastavení nerozlišují standardní vyhledávání pomocí VLOOKUP nebo INDEX + MATCH malá a velká písmena. VLOOKUP i MATCH jednoduše vrátí první zápas, ignorují velká a malá písmena.

Pokud však potřebujete vyhledat malá a velká písmena, můžete tak učinit pomocí maticového vzorce, který používá funkce INDEX, MATCH a EXACT.

V příkladu používáme následující vzorec

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

Tento vzorec je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.

Vysvětlení

Vzhledem k tomu, že MATCH sám nerozlišuje velká a malá písmena, potřebujeme způsob, jak Excel porovnat případ. Funkce EXACT je perfektní funkcí, ale způsob, jakým ji používáme, je trochu neobvyklý, protože musíme porovnat jednu buňku s řadou buněk.

Při práci zevnitř ven máme nejprve:

EXACT(F4,B3:B102)

kde F4 obsahuje vyhledávací hodnotu a B3: B102 je odkaz na vyhledávací sloupec (křestní jména). Protože jako druhý argument dáváme EXACT pole, dostaneme zpět pole TRUE falešných hodnot, jako je tato:

(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE atd.)

To je výsledek porovnání hodnoty v B4 každé buňce ve vyhledávacím sloupci. Kdekoli vidíme PRAVDA, víme, že máme přesnou shodu, která respektuje velikost písmen.

Nyní musíme v tomto poli získat pozici (tj. Číslo řádku) hodnoty TRUE. K tomu můžeme použít MATCH, hledat TRUE a nastavit v režimu přesné shody:

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

Je důležité si uvědomit, že MATCH vždy vrátí první shodu, pokud existují duplikáty, takže pokud se ve sloupci stane další přesná shoda, bude odpovídat pouze první.

Nyní máme číslo řádku. Dále stačí použít INDEX k načtení hodnoty v pravém průsečíku řádků a sloupců. Číslo sloupce je v tomto případě pevně zakódováno jako 3, protože pojmenovaná data rozsahu zahrnují všechny sloupce. Konečný vzorec je:

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

Tento vzorec musíme zadat jako maticový vzorec, protože pole vytvořené PŘESNÉ.

Tento vzorec načte textové i číselné hodnoty. Pokud chcete načíst pouze čísla, můžete použít vzorec založený na SUMPRODUCT; viz odkaz níže

Zajímavé články...