Formula Excel: căutare exactă a potrivirii cu INDEX și MATCH -

Cuprins

Formula generică

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

rezumat

Căutare sensibilă la majuscule

În mod implicit, căutările standard cu VLOOKUP sau INDEX + MATCH nu sunt sensibile la majuscule. Atât VLOOKUP, cât și MATCH vor returna pur și simplu primul meci, ignorând majuscule.

Cu toate acestea, dacă trebuie să faceți o căutare sensibilă la majuscule, puteți face acest lucru cu o formulă matrice care utilizează INDEX, MATCH și funcția EXACT.

În exemplu, folosim următoarea formulă

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Această formulă este o formulă matrice și trebuie introdusă cu Control + Shift + Enter.

Explicaţie

Deoarece MATCH singur nu este sensibil la majuscule și minuscule, avem nevoie de o modalitate de a face ca Excel să compare majuscule. Funcția EXACT este funcția perfectă pentru acest lucru, dar modul în care îl folosim este puțin neobișnuit, deoarece trebuie să comparăm o celulă cu o gamă de celule.

Lucrând din interior spre exterior, avem mai întâi:

EXACT(F4,B3:B102)

unde F4 conține valoarea de căutare și B3: B102 este o referință la coloana de căutare (Prenume). Deoarece oferim EXACT o matrice ca al doilea argument, vom primi înapoi o matrice de adevărate valori false ca aceasta:

(FALS, FALSE, FALSE, FALSE, FALSE, ADEVĂRATE etc.)

Acesta este rezultatul comparării valorii din B4 a fiecărei celule din coloana de căutare. Oriunde vedem ADEVĂRAT, știm că avem o potrivire exactă care respectă cazurile.

Acum trebuie să obținem poziția (adică numărul rândului) valorii TRUE din această matrice. Pentru aceasta, putem folosi MATCH, căutând TRUE și setat în modul de potrivire exactă:

MATCH(TRUE,EXACT(F4,B3:B102),0)

Este important să rețineți că MATCH va întoarce întotdeauna primul meci dacă există duplicate, așa că, dacă se întâmplă să existe o altă potrivire exactă în coloană, o veți potrivi doar cu prima.

Acum avem un număr de rând. Apoi, trebuie doar să folosim INDEX pentru a recupera valoarea la intersecția rândului și a coloanei din dreapta. Numărul coloanei, în acest caz, este codificat cu 3, deoarece datele despre intervalul numit includ toate coloanele. Formula finală este:

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Trebuie să introducem această formulă ca formulă matrice din cauza matricei create de EXACT.

Această formulă va recupera atât textul, cât și valorile numerice. Dacă doriți să extrageți numai numere, puteți utiliza o formulă bazată pe SUMPRODUCT; vezi linkul de mai jos

Articole interesante...