Formula Excel: căutare sensibilă la majuscule -

Formula generică

=INDEX(range1,MATCH(TRUE,EXACT(A1,range2),0))

rezumat

Pentru a efectua o căutare sensibilă la majuscule, puteți utiliza funcția EXACT împreună cu INDEX și MATCH. În exemplul de prezentare, formula din F5 este:

=INDEX(C5:C14,MATCH(TRUE,EXACT(E5,B5:B14),0))

care returnează 39 de ani, vârsta lui "JILL SMITH".

Notă: aceasta este o formulă matrice și trebuie introdusă cu Control + Shift + Enter, cu excepția Excel 365.

Explicaţie

La bază, aceasta este o formulă INDEX și MATCH, cu funcția EXACT utilizată în MATCH pentru a efectua o potrivire sensibilă la majuscule.

Funcționând din interior spre exterior, EXACT este configurat pentru a compara valoarea din E5 cu numele din intervalul B5: B14:

EXACT(E5,B5:B14) // returns array of results

Funcția EXACT efectuează o comparație sensibilă la majuscule și minuscule și returnează TRUE sau FALSE ca rezultat. Doar valorile care se potrivesc exact vor reveni la TRUE. Deoarece verificăm numele din E5 („JILL SMITH”) în comparație cu toate cele zece nume din intervalul B5: B14, primim înapoi o matrice de zece valori ADEVĂRATE și FALSE ca aceasta:

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

Această matrice este returnată direct la funcția MATCH ca lookup_array astfel:

MATCH(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),0)

Cu o valoare de căutare TRUE, MATCH returnează 5, deoarece singurul TRUE din matrice este la a cincea poziție. Observați, de asemenea, că match_type este setat la zero (0) pentru a forța o potrivire exactă.

Funcția MATCH returnează un rezultat direct la funcția INDEX ca număr de rând, astfel încât să putem rescrie formula astfel:

=INDEX(C5:C14,5) // returns 39

INDEX returnează vârsta în al cincilea rând, 39, ca rezultat final.

Deoarece utilizarea funcției EXACT ca aceasta este o operație de matrice, formula este o formulă de matrice și trebuie introdusă cu Control + Shift + Enter, cu excepția Excel 365.

Cu XLOOKUP

În Excel 365, funcția XLOOKUP poate fi configurată pentru a efectua o căutare sensibilă la majuscule și minuscule într-un mod similar ca acesta:

=XLOOKUP(TRUE,EXACT(J5,B5:B14),C5:C14,"na",0)

Observați că valoarea de căutare și matricea de căutare sunt configurate la fel ca funcția MATCH de mai sus. După executarea EXACT, avem:

=XLOOKUP(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),C5:C14,"na",0)

iar XLOOKUP returnează cel de-al 5-lea element din intervalul C5: C14 (39) ca rezultat final.

Articole interesante...