
Formula generică
=LOOKUP(2,1/SEARCH(things,A1),things)
rezumat
Pentru a verifica o celulă pentru unul dintre mai multe lucruri și pentru a returna ultima potrivire găsită în listă, puteți utiliza o formulă bazată pe funcțiile CĂUTARE și CĂUTARE. În cazul mai multor meciuri găsite, formula va returna ultimul meci din lista „lucrurilor”.
În exemplul prezentat, formula din C5 este:
=LOOKUP(2,1/SEARCH(things,B5),things)
Explicaţie
Context: aveți o listă de lucruri în intervalul numit „lucruri” (E5: E8) și doriți să verificați celulele din coloana B pentru a vedea dacă conțin aceste lucruri. Dacă da, doriți să returnați ultimul articol din „lucruri” care au fost găsite.
În această formulă, funcția CĂUTARE este utilizată pentru a căuta celule din coloana B astfel:
SEARCH(things,B5)
Când SEARCH găsește o potrivire, aceasta returnează poziția potrivirii în celula căutată. Când căutarea nu poate găsi o potrivire, returnează eroarea #VALUE. Deoarece oferim SEARH mai mult de un lucru de căutat, acesta va întoarce mai mult de un rezultat. În exemplul prezentat, SEARCH returnează o serie de rezultate de acest gen:
(8;24;#VALUE!;#VALUE!)
Această matrice este apoi utilizată ca divizor pentru numărul 1. Rezultatul este o matrice compusă din erori și valori zecimale. Erorile reprezintă lucruri care nu au fost găsite, iar valorile zecimale reprezintă lucrurile găsite. În exemplul prezentat, matricea arată astfel:
(0.125;0.0416666666666667;#VALUE!;#VALUE!)
Această matrice servește ca „vector de căutare” pentru funcția LOOKUP. Valoarea de căutare este furnizată ca numărul 2, iar vectorul de rezultat este intervalul numit „lucruri”. Aceasta este partea inteligentă.
Formula este construită în așa fel încât vectorul de căutare să nu conțină niciodată o valoare mai mare de 1, în timp ce valoarea de căutare este 2. Aceasta înseamnă că valoarea de căutare nu va fi găsită niciodată. În acest caz, LOOKUP se va potrivi cu ultima valoare numerică găsită în matrice, care corespunde ultimului „lucru” găsit de SEARCH.
În cele din urmă, folosind gama numită „lucruri” furnizate ca vector de rezultat, LOOKUP returnează ultimul lucru găsit.
Cu valori codificate greu
Folosirea unui domeniu precum „lucruri” facilitează modificarea listei termenilor de căutare (și adăugarea mai multor termeni de căutare), dar nu este o cerință. De asemenea, puteți codifica valori direct în formula astfel:
=LOOKUP(2,1/SEARCH(("red","blue","green"),B5),("red","blue","green"))