Excel formula: XLOOKUP razlikuje velika i mala slova -

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.

Zanimljivi članci...