
Splošna formula
=XLOOKUP(1,--EXACT(range1,"RED"),range2)
Povzetek
Če želite ustvariti natančno ujemanje med velikimi in malimi črkami, lahko uporabite funkcijo XLOOKUP s funkcijo EXACT. V prikazanem primeru je formula v F5:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)
ki se ujema z "RDEČO" (z razliko med velikimi in malimi črkami) in vrne celotno vrstico.
Pojasnilo
Funkcija XLOOKUP sama po sebi ne razlikuje med velikimi in malimi črkami. Iskalna vrednost "RDEČA" se bo ujemala z "rdečo", "RDEČO" ali "Rdečo". To omejitev lahko rešimo tako, da zgradimo ustrezen iskalni niz za XLOOKUP z logičnim izrazom.
Če delamo od znotraj navzven, da XLOOKUP omogoči, da se ujema z velikimi črkami, uporabljamo funkcijo EXACT, kot je ta:
EXACT(B5:B15,"RED") // test for "RED"
Ker je v območju E5: D15 11 vrednosti, EXACT vrne matriko z 11 resničnimi rezultati, kot je ta:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Upoštevajte, da položaj TRUE ustreza vrstici, kjer je barva "RDEČA".
Za kratkost (in da omogočimo enostavno razširitev logike z logično logiko) prisilimo vrednosti TRUE FALSE na 1s in 0s z dvojnim negativom:
--EXACT(B5:B15,"RED") // convert to 1s and 0s
ki da matriko, kot je ta:
(0;0;0;0;1;0;0;0;0;0;0)
Upoštevajte, da položaj 1 ustreza vrstici, kjer je barva "RDEČA". To polje se vrne neposredno v funkcijo XLOOKUP kot argument iskalne matrike.
Zdaj lahko preprosto uporabimo formulo za:
=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)
Z iskalno vrednostjo 1 XLOOKUP najde enoto na 5. mestu in vrne 5. vrstico v vrnilni matriki B9: D9.
Razširitev logike
Strukturo logike je mogoče enostavno razširiti. Na primer, če želite v aprilu ujemanje ujemati na "RDEČE", lahko uporabite takšno formulo:
=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)
Ker vsak od obeh izrazov vrne matriko TRUE FALSE vrednosti in ker se ti nizi pomnožijo, matematična operacija prisili vrednosti TRUE in FALSE na 1s in 0s. Dvojnega negativa ni treba uporabljati.
Ker vrednost iskanja ostane 1, kot v zgornji formuli.
Prva in zadnja tekma
Obe zgornji formuli bosta vrnili prvo ujemanje "RDEČE" v naboru podatkov. Če potrebujete zadnje ujemanje, lahko izvedete obratno iskanje, tako da argument za način iskanja za XLOOKUP nastavite na -1:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match
Če želite vrniti rezultate z več zadetkov, glejte funkcijo FILTER.