Formule Excel: recherche sensible à la casse -

Formule générique

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

Sommaire

Pour effectuer une recherche sensible à la casse, vous pouvez utiliser la fonction EXACT avec INDEX et MATCH. Dans l'exemple, la formule en F5 est:

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

qui renvoie 39, l'âge de "JILL SMITH".

Remarque: il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée, sauf dans Excel 365.

Explication

Au cœur, il s'agit d'une formule INDEX et MATCH, avec la fonction EXACT utilisée dans MATCH pour effectuer une correspondance sensible à la casse.

En travaillant de l'intérieur vers l'extérieur, EXACT est configuré pour comparer la valeur dans E5 avec les noms dans la plage B5: B14:

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

La fonction EXACT effectue une comparaison sensible à la casse et renvoie TRUE ou FALSE en conséquence. Seules les valeurs qui correspondent exactement renverront TRUE. Parce que nous vérifions le nom en E5 ("JILL SMITH") par rapport aux dix noms de la plage B5: B14, nous récupérons un tableau de dix valeurs TRUE et FALSE comme ceci:

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

Ce tableau est renvoyé directement à la fonction MATCH en tant que lookup_array comme ceci:

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

Avec une valeur de recherche de TRUE, MATCH renvoie 5, car le seul TRUE du tableau est à la cinquième position. Notez également que match_type est défini sur zéro (0) pour forcer une correspondance exacte.

La fonction MATCH renvoie un résultat directement à la fonction INDEX en tant que numéro de ligne, nous pouvons donc maintenant réécrire la formule comme ceci:

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

INDEX renvoie l'âge de la cinquième ligne, 39 ans, comme résultat final.

Étant donné que l'utilisation de la fonction EXACT comme celle-ci est une opération de tableau, la formule est une formule de tableau et doit être entrée avec Ctrl + Maj + Entrée, sauf dans Excel 365.

Avec XLOOKUP

Dans Excel 365, la fonction XLOOKUP peut être configurée pour effectuer une recherche sensible à la casse d'une manière similaire comme ceci:

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

Notez que la valeur de recherche et le tableau de recherche sont configurés comme la fonction MATCH ci-dessus. Après l'exécution EXACT, nous avons:

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

et XLOOKUP renvoie le 5ème élément de la plage C5: C14 (39) comme résultat final.

Articles intéressants...