Formule Excel: correspondance partielle avec des nombres avec un caractère générique -

Table des matières

Formule générique

(=MATCH("*"&number&"*",TEXT(range,"0"),0))

Sommaire

Pour effectuer une correspondance partielle (générique) avec des nombres, vous pouvez utiliser une formule matricielle basée sur la fonction MATCH et la fonction TEXT. Dans l'exemple illustré, la formule en E6 est:

(=MATCH("*"&E5&"*",TEXT(B5:B10,"0"),0))

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

Explication

Excel prend en charge les caractères génériques "*" et "?", Et ces caractères génériques peuvent être utilisés pour effectuer des correspondances partielles (sous-chaîne) dans diverses formules de recherche.

Cependant, si vous utilisez des caractères génériques avec un nombre, vous convertirez la valeur numérique en valeur de texte. En d'autres termes, "*" & 99 & "*" = "* 99 *" (une chaîne de texte). Et si vous essayez de trouver une valeur de texte dans une plage de nombres, la correspondance échouera.

Une solution consiste à convertir les valeurs numériques en texte dans une formule à l'aide de la fonction TEXT ou en concaténant une chaîne vide dans la plage. Pour ce faire, la formule en E6 est:

(=MATCH("*"&E5&"*",TEXT(B5:B10,"0"),0))

Il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée

Cette formule utilise la fonction TEXTE pour transformer les nombres de B5: B10 en texte au format numérique "0". Parce que nous donnons la plage entière à TEXT, nous récupérons toutes les valeurs converties en texte dans un tableau, qui est retourné directement à la fonction MATCH en tant qu'argument de tableau. Avec les nombres convertis en texte, la fonction MATCH peut trouver une correspondance partielle comme d'habitude.

Notez que MATCH doit être configuré pour une correspondance exacte pour utiliser des caractères génériques, en définissant le 3ème argument sur zéro ou FALSE.

Une autre option

Une autre façon de transformer un nombre en texte est de concaténer une chaîne vide (""). Cette formule fonctionne de la même manière que la formule ci-dessus:

=MATCH("*"&E5&"*",B5:B10&"",0)

Articles intéressants...