
Generička formula
=XLOOKUP(1,--EXACT(range1,"RED"),range2)
Sažetak
Da biste stvorili točno podudaranje velikih i malih slova, možete koristiti funkciju XLOOKUP s funkcijom EXACT. U prikazanom primjeru formula u F5 je:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)
koji se podudara s "CRVENO" (s obzirom na velika i mala slova) i vraća cijeli redak.
Obrazloženje
Sama po sebi, funkcija XLOOKUP ne razlikuje velika i mala slova. Vrijednost pretraživanja "CRVENA" podudarat će se s "crvenom", "CRVENOM" ili "Crvenom". To ograničenje možemo zaobići konstruiranjem prikladnog niza pretraživanja za XLOOKUP s logičkim izrazom.
Radeći iznutra prema van, kako bismo XLOOKUP-u dali mogućnost podudaranja s velikim i malim slovima, koristimo EXACT funkciju poput ove:
EXACT(B5:B15,"RED") // test for "RED"
Budući da u rasponu E5: D15 postoji 11 vrijednosti, EXACT vraća niz s 11 TRUE FALSE rezultata poput ovog:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Primijetite da položaj TRUE odgovara retku u kojem je boja "CRVENA".
Radi kratkoće (i kako bismo omogućili lako širenje logike logikom), prisiljavamo vrijednosti TRUE FALSE na 1s i 0s s dvostrukim negativom:
--EXACT(B5:B15,"RED") // convert to 1s and 0s
koji daje niz poput ovog:
(0;0;0;0;1;0;0;0;0;0;0)
Primijetite da položaj 1 odgovara retku u kojem je boja "CRVENA". Ovaj se niz vraća izravno funkciji XLOOKUP kao argument niza pretraživanja.
Sada jednostavno možemo formulirati sljedeće:
=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)
S vrijednošću pretraživanja 1, XLOOKUP pronalazi 1 na 5. poziciji i vraća 5. red u povratnom polju B9: D9.
Proširivanje logike
Struktura logike može se lako proširiti. Na primjer, da biste suzili podudaranje na "CRVENO" u mjesecu travnju, možete upotrijebiti formulu poput ove:
=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)
Ovdje, jer svaki od dva izraza vraća niz TRUE FALSE vrijednosti, i zato što se ti nizovi množe zajedno, matematička operacija prisiljava TRUE i FALSE vrijednosti na 1s i 0s. Nije potrebno koristiti dvostruko negativno.
Kako vrijednost pretraživanja ostaje 1, kao u gornjoj formuli.
Prva i zadnja utakmica
Obje gornje formule vratit će prvo podudaranje "CRVENOG" u skupu podataka. Ako vam je potrebno posljednje podudaranje, možete izvršiti obrnuto pretraživanje postavljanjem argumenta načina pretraživanja za XLOOKUP na -1:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match
Ako trebate vratiti rezultate iz više podudaranja, pogledajte funkciju FILTER.