„Excel“ formulė: didžiosios ir mažosios raidės skiriamos nuo XLOOKUP -

Turinys

Bendroji formulė

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

Santrauka

Norėdami sukurti tikslią didžiųjų ir mažųjų raidžių reikšmę, galite naudoti funkciją XLOOKUP su funkcija TIKSLAS. Parodytame pavyzdyje formulė F5 yra:

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

kuris atitinka „RED“ (didžiosios ir mažosios raidės) ir grąžina visą eilutę.

Paaiškinimas

Pati funkcija XLOOKUP neskiria didžiųjų ir mažųjų raidžių. Paieškos vertė „RED“ sutaps su „raudona“, „RED“ arba „raudona“. Mes galime išspręsti šį apribojimą sukurdami tinkamą XLOOKUP paieškos masyvą su logine išraiška.

Dirbdami iš vidaus, norėdami suteikti XLOOKUP galimybę suderinti bylą, mes naudojame EXACT funkciją taip:

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

Kadangi diapazone E5 yra 11 reikšmių: D15, EXACT grąžina masyvą su 11 TRUE FALSE rezultatais:

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

Atkreipkite dėmesį, kad TRUE pozicija atitinka eilutę, kurioje spalva yra "RED".

Kad būtų trumpumas (ir kad logiką būtų lengva išplėsti naudojant loginę logiką), verčiame TRUE FALSE reikšmes į 1s ir 0s su dvigubu neiginiu:

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

iš kurio gaunamas toks masyvas:

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

Atkreipkite dėmesį, kad 1 pozicija atitinka eilutę, kurioje spalva yra "RAUDONA". Šis masyvas grąžinamas tiesiai į funkciją XLOOKUP kaip paieškos masyvo argumentas.

Dabar galime tiesiog formulę:

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

Kai paieškos vertė yra 1, XLOOKUP 1-ą nustato 5-oje pozicijoje ir grąžina 5-ą grąžinimo masyvo eilutę B9: D9.

Logikos išplėtimas

Logikos struktūrą galima lengvai išplėsti. Pvz., Norėdami susiaurinti balansą iki „RED“, galite naudoti tokią formulę:

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

Čia, kadangi kiekviena iš dviejų išraiškų grąžina TIKRŲ NETIESOS reikšmių masyvą ir kadangi šios masyvai yra dauginami kartu, matematikos operacija PATIKIMOSIOS ir NETIESOS reikšmės priverčia 1s ir 0s. Dvigubo neiginio vartoti nebūtina.

Kadangi paieškos vertė išlieka 1, kaip nurodyta aukščiau pateiktoje formulėje.

Pirmos ir paskutinės rungtynės

Abi aukščiau pateiktos formulės pateiks pirmąją „RED“ atitiktį duomenų rinkinyje. Jei jums reikia paskutinės atitikties, galite atlikti atvirkštinę paiešką nustatydami paieškos režimo argumentą XLOOKUP į -1:

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

Jei jums reikia grąžinti kelių rungtynių rezultatus, žr. FILTRO funkciją.

Įdomios straipsniai...