Excel vzorec: XLOOKUP rozlišuje velká a malá písmena -

Obsah

Obecný vzorec

=XLOOKUP(1,--EXACT(range1,"RED"),range2)

souhrn

Chcete-li vytvořit přesnou shodu malých a velkých písmen, můžete použít funkci XLOOKUP s funkcí EXACT. V zobrazeném příkladu je vzorec v F5:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)

který odpovídá „ČERVENÉ“ (rozlišuje velká a malá písmena) a vrací celý řádek.

Vysvětlení

Funkce XLOOKUP sama o sobě nerozlišuje velká a malá písmena. Vyhledávací hodnota „ČERVENÉ“ bude odpovídat „červené“, „ČERVENÉ“ nebo „červené“. Toto omezení můžeme obejít vytvořením vhodného vyhledávacího pole pro XLOOKUP s logickým výrazem.

Při práci zevnitř ven, abychom XLOOKUPu dali možnost porovnávat velká a malá písmena, používáme funkci EXACT takto:

EXACT(B5:B15,"RED") // test for "RED"

Vzhledem k tomu, že v rozsahu E5: D15 je 11 hodnot, vrátí funkce EXACT pole s 11 výsledky TRUE FALSE takto:

(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Všimněte si, že poloha PRAVDA odpovídá řádku, kde je barva „ČERVENÁ“.

Pro stručnost (a aby bylo možné logiku snadno rozšířit pomocí logické logiky) vynucujeme hodnoty TRUE FALSE na 1 s a 0 s dvojitým záporem:

--EXACT(B5:B15,"RED") // convert to 1s and 0s

což dává takové pole:

(0;0;0;0;1;0;0;0;0;0;0)

Všimněte si, že pozice 1 odpovídá řádku, kde je barva „ČERVENÁ“. Toto pole je vráceno přímo do funkce XLOOKUP jako argument vyhledávacího pole.

Nyní můžeme jednoduše vzorec:

=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)

S vyhledávací hodnotou 1 XLOOKUP najde 1 na 5. pozici a vrátí 5. řádek v návratovém poli B9: D9.

Rozšíření logiky

Strukturu logiky lze snadno rozšířit. Například pro zúžení shody na „ČERVENÉ“ v měsíci dubnu můžete použít vzorec takto:

=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)

Tady, protože každý ze dvou výrazů vrací pole TRUE FALSE hodnot, a protože tato pole jsou společně vynásobena, matematická operace vynutí hodnoty TRUE a FALSE na 1 s a 0 s. Není nutné používat dvojitý zápor.

Protože vyhledávací hodnota zůstává 1, jako ve vzorci výše.

První a poslední zápas

Oba výše uvedené vzorce vrátí první shodu „ČERVENÉ“ v datové sadě. Pokud potřebujete poslední shodu, můžete provést zpětné vyhledávání nastavením argumentu režimu vyhledávání pro XLOOKUP na -1:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match

Pokud potřebujete vrátit výsledky z více shod, podívejte se na funkci FILTER.

Zajímavé články...