
Všeobecný vzorec
=XLOOKUP(1,--EXACT(range1,"RED"),range2)
Zhrnutie
Ak chcete vytvoriť presnú zhodu malých a veľkých písmen, môžete použiť funkciu XLOOKUP s funkciou EXACT. V zobrazenom príklade je vzorec v F5:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)
ktorý sa zhoduje s „ČERVENÝM“ (veľké a malé písmená) a vráti celý riadok.
Vysvetlenie
Samotná funkcia XLOOKUP nerozlišuje veľké a malé písmená. Vyhľadávaná hodnota „ČERVENÉ“ sa bude zhodovať s „červenou“, „ČERVENOU“ alebo „červenou“. Toto obmedzenie môžeme obísť vytvorením vhodného vyhľadávacieho poľa pre XLOOKUP s logickým výrazom.
Keď pracujeme zvnútra von, aby sme XLOOKUPU dali možnosť porovnávať veľké a malé písmená, používame funkciu EXACT takto:
EXACT(B5:B15,"RED") // test for "RED"
Pretože v rozsahu E5: D15 je 11 hodnôt, funkcia EXACT vráti pole s 11 výsledkami TRUE FALSE, ako je tento:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Všimnite si, že poloha PRAVDA zodpovedá riadku, kde je farba „ČERVENÁ“.
Pre stručnosť (a aby sme umožnili ľahké rozšírenie logiky pomocou logickej logiky) vynútime hodnoty TRUE FALSE na 1 s a 0 s dvojitým záporom:
--EXACT(B5:B15,"RED") // convert to 1s and 0s
ktorý dáva pole ako je toto:
(0;0;0;0;1;0;0;0;0;0;0)
Všimnite si, že pozícia 1 zodpovedá riadku, kde je farba „ČERVENÁ“. Toto pole sa vracia priamo do funkcie XLOOKUP ako argument vyhľadávacieho poľa.
Teraz môžeme jednoducho vzorec:
=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)
S vyhľadávacou hodnotou 1 XLOOKUP nájde 1 na 5. pozícii a vráti 5. riadok v návratovom poli B9: D9.
Rozšírenie logiky
Štruktúru logiky je možné ľahko rozšíriť. Napríklad na zúženie zhody na „ČERVENÉ“ v mesiaci apríl môžete použiť nasledujúci vzorec:
=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)
Pretože tu každý z dvoch výrazov vracia pole hodnôt TRUE FALSE a pretože sa tieto polia znásobujú, matematická operácia vynúti hodnoty TRUE a FALSE na 1 s a 0 s. Nie je potrebné používať dvojitý negatív.
Pretože vyhľadávaná hodnota zostáva 1, ako vo vzorci vyššie.
Prvý a posledný zápas
Oba vyššie uvedené vzorce vrátia prvú zhodu „ČERVENÉ“ v množine údajov. Ak potrebujete poslednú zhodu, môžete vykonať spätné vyhľadávanie nastavením argumentu režimu vyhľadávania pre XLOOKUP na -1:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match
Ak potrebujete vrátiť výsledky z viacerých zápasov, pozrite si funkciu FILTER.