![](https://cdn.wiki-base.com/2444456/excel_formula_first_match_in_range_with_wildcard__2.png.webp)
Formule générique
=INDEX(range,MATCH(val&"*",range,0))
Sommaire
Pour obtenir la valeur de la première correspondance dans une plage à l'aide d'un caractère générique, vous pouvez utiliser une formule INDEX et MATCH, configurée pour une correspondance exacte.
Dans l'exemple illustré, la formule en F5 est:
=INDEX(B5:D5,MATCH(E5&"*",B5:D5,0))
Explication
En travaillant de l'intérieur vers l'extérieur, MATCH est utilisé pour localiser la position du premier match dans la plage B5: D5. La valeur lookup_value est basée sur la valeur de B5 jointe avec un astérisque (*) comme caractère générique, et match_type est défini sur zéro pour forcer une correspondance exacte:
MATCH(E5&"*",B5:D5,0)
E5 contient la chaîne "calc" donc, après concaténation, la fonction MATCH ressemble à ceci:
MATCH("calc*",B5:D5,0)
et renvoie 3 à l'intérieur de l'index comme "row_num":
=INDEX(B5:D5,3)
Bien que la plage B5: D5 soit horizontale et ne contienne qu'une seule ligne, INDEX récupère correctement le 3ème élément de la plage: "calc 1500".