Formula Excel: ricerca case sensitive -

Formula generica

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

Sommario

Per eseguire una ricerca con distinzione tra maiuscole e minuscole, è possibile utilizzare la funzione ESATTO insieme a INDICE e CONFRONTA. Nell'esempio di spettacolo, la formula in F5 è:

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

che restituisce 39, l'età di "JILL SMITH".

Nota: questa è una formula di matrice e deve essere inserita con Control + Maiusc + Invio, tranne che in Excel 365.

Spiegazione

Al centro, questa è una formula INDICE e CONFRONTA, con la funzione ESATTA utilizzata all'interno di CONFRONTA per eseguire una corrispondenza sensibile al maiuscolo / minuscolo.

Lavorando dall'interno verso l'esterno, EXACT è configurato per confrontare il valore in E5 con i nomi nell'intervallo B5: B14:

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

La funzione ESATTO esegue un confronto con distinzione tra maiuscole e minuscole e come risultato restituisce VERO o FALSO. Solo i valori che corrispondono esattamente restituiranno TRUE. Poiché stiamo controllando il nome in E5 ("JILL SMITH") rispetto a tutti e dieci i nomi nell'intervallo B5: B14, otteniamo un array di dieci valori TRUE e FALSE come questo:

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

Questo array viene restituito direttamente alla funzione MATCH come lookup_array in questo modo:

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

Con un valore di ricerca TRUE, MATCH restituisce 5, poiché l'unico TRUE nella matrice si trova alla quinta posizione. Notare anche che match_type è impostato su zero (0) per forzare una corrispondenza esatta.

La funzione CONFRONTA restituisce un risultato direttamente alla funzione INDICE come numero di riga, quindi ora possiamo riscrivere la formula in questo modo:

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

INDICE restituisce l'età nella quinta riga, 39, come risultato finale.

Poiché l'utilizzo della funzione ESATTO come questa è un'operazione di matrice, la formula è una formula di matrice e deve essere immessa con Control + Maiusc + Invio, tranne che in Excel 365.

Con XLOOKUP

In Excel 365, la funzione XLOOKUP può essere configurata per eseguire una ricerca con distinzione tra maiuscole e minuscole in un modo simile come questo:

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

Si noti che il valore di ricerca e l'array di ricerca sono impostati proprio come la funzione MATCH sopra. Dopo l'esecuzione ESATTA, abbiamo:

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

e XLOOKUP restituisce il quinto elemento dell'intervallo C5: C14 (39) come risultato finale.

Articoli interessanti...