„Excel“ formulė: Gauti paskutinės atitikties langelį yra -

Bendroji formulė

=LOOKUP(2,1/SEARCH(things,A1),things)

Santrauka

Norėdami patikrinti langelį, kuriame yra vienas iš kelių dalykų, ir grąžinti paskutinę sąraše rastą atitiktį, galite naudoti formulę, pagrįstą funkcijomis LOOKUP ir SEARCH. Jei rasta kelių atitikmenų, formulė grąžins paskutinę atitiktį iš „daiktų“ sąrašo.
Parodytame pavyzdyje formulė C5 yra:

=LOOKUP(2,1/SEARCH(things,B5),things)

Paaiškinimas

Kontekstas: turite sąrašą dalykų pavadintame diapazone „daiktai“ (E5: E8) ir norite patikrinti langelio B stulpelyje, ar juose yra šie dalykai. Jei taip, norite grąžinti paskutinį daiktą iš rastų daiktų.

Šioje formulėje funkcija PAIEŠKA naudojama ieškant langelių B stulpelyje taip:

SEARCH(things,B5)

Kai PAIEŠKA randa atitikmenį, ji grąžina ieškos langelio atitiktį. Kai paieška neranda atitikties, ji pateikia #VALUE klaidą. Kadangi SEARH suteikiame daugiau nei vieno daikto, kurio reikia ieškoti, tai duos ne vieną rezultatą. Parodytame pavyzdyje SEARCH pateikia tokių rezultatų masyvą:

(8;24;#VALUE!;#VALUE!)

Tada šis masyvas naudojamas kaip skaičiaus 1 daliklis. Rezultatas yra masyvas, sudarytas iš klaidų ir dešimtainių reikšmių. Klaidos nurodo nerastus dalykus, o dešimtainės reikšmės nurodo rastus dalykus. Pateiktame pavyzdyje masyvas atrodo taip:

(0.125;0.0416666666666667;#VALUE!;#VALUE!)

Šis masyvas yra funkcijos LOOKUP funkcija „lookup_vector“. Paieškos vertė pateikiama kaip skaičius 2, o rezultatų vektorius yra pavadintas diapazonas „dalykai“. Tai yra protinga dalis.

Formulė sukonstruota taip, kad paieškos vektoriuje niekada nebus didesnės nei 1 vertės, o paieškos reikšmė yra 2. Tai reiškia, kad paieškos vertė niekada nebus rasta. Tokiu atveju LOOKUP atitiks paskutinę masyve rastą skaitinę vertę, kuri atitinka paskutinį „SEARCH“ rastą „dalyką“.

Galiausiai, naudojant pavadintą diapazoną „daiktai“, pateiktus kaip rezultatų vektorių, LOOKUP pateikia paskutinį rastą dalyką.

Su sunkiai užkoduotomis vertėmis

Naudojant diapazoną, pvz., „Daiktai“, lengva modifikuoti paieškos terminų sąrašą (ir pridėti daugiau paieškos terminų), tačiau tai nėra reikalavimas. Taip pat galite koduoti reikšmes tiesiai į tokią formulę:

=LOOKUP(2,1/SEARCH(("red","blue","green"),B5),("red","blue","green"))

Įdomios straipsniai...