
Obecný vzorec
=INDEX(range1,MATCH(TRUE,EXACT(A1,range2),0))
souhrn
Chcete-li provést vyhledávání malých a velkých písmen, můžete použít funkci EXACT společně s INDEX a MATCH. V ukázkové ukázce je vzorec v F5:
=INDEX(C5:C14,MATCH(TRUE,EXACT(E5,B5:B14),0))
který vrací 39 let, věk „JILL SMITH“.
Poznámka: jedná se o maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter, kromě Excel 365.
Vysvětlení
V jádru se jedná o vzorec INDEX a MATCH s funkcí EXACT používanou uvnitř MATCH k provedení shody s malými a velkými písmeny.
Při práci zevnitř ven je EXACT nakonfigurován k porovnání hodnoty v E5 s názvy v rozsahu B5: B14:
EXACT(E5,B5:B14) // returns array of results
Funkce EXACT provádí porovnání velkých a malých písmen a jako výsledek vrací TRUE nebo FALSE. Pouze hodnoty, které přesně odpovídají, vrátí TRUE. Protože kontrolujeme jméno v E5 ("JILL SMITH") proti všem deseti jménům v rozsahu B5: B14, dostaneme zpět pole deseti TRUE a FALSE hodnot, jako je tato:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE)
Toto pole se vrací přímo do funkce MATCH jako lookup_array takto:
MATCH(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),0)
S vyhledávací hodnotou TRUE vrátí MATCH 5, protože jediný TRUE v poli je na páté pozici. Všimněte si také, že match_type je nastaven na nulu (0), aby vynutil přesnou shodu.
Funkce MATCH vrací výsledek přímo do funkce INDEX jako číslo řádku, takže nyní můžeme přepsat vzorec takto:
=INDEX(C5:C14,5) // returns 39
INDEX vrací věk v páté řadě, 39, jako konečný výsledek.
Protože použití funkce EXACT, jako je tato, je operace pole, vzorec je vzorec pole a musí být zadán pomocí Control + Shift + Enter, s výjimkou Excel 365.
S XLOOKUPEM
V aplikaci Excel 365 lze funkci XLOOKUP nakonfigurovat tak, aby prováděla vyhledávání malých a velkých písmen podobným způsobem, jako je tento:
=XLOOKUP(TRUE,EXACT(J5,B5:B14),C5:C14,"na",0)
Všimněte si, že vyhledávací hodnota a vyhledávací pole jsou nastaveny stejně jako výše uvedená funkce MATCH. Po PŘESNÝCH bězích máme:
=XLOOKUP(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),C5:C14,"na",0)
a XLOOKUP vrací jako konečný výsledek 5. položku z rozsahu C5: C14 (39).