Formule Excel: la valeur existe dans une plage -

Formule générique

=COUNTIF(range,value)>0

Sommaire

Pour déterminer si une valeur existe dans une plage de cellules, vous pouvez utiliser une formule simple basée sur la fonction NB.SI. Dans l'exemple illustré, la formule en D5 est:

=COUNTIF(rng,B5)>0

où "rng" est la plage nommée F4: F10.

Explication

La fonction COUNTIF compte les cellules qui répondent aux critères fournis, renvoyant le nombre d'occurrences trouvées. Si aucune cellule ne répond aux critères, COUNTIF renvoie zéro. Tout nombre positif signifie que la valeur a été trouvée. Cela signifie que vous pouvez utiliser l'opérateur supérieur à (>) pour exécuter un test simple sur le résultat de COUNTIF pour forcer un résultat TRUE ou FALSE:

=COUNTIF(range,value)>0

Vous pouvez également envelopper la formule dans une instruction IF pour forcer un résultat spécifique. Par exemple, pour renvoyer "Oui" ou "Non", utilisez:

=IF(COUNTIF(range,value),"Yes","No")

Cela fonctionne parce que IF considère tout nombre> 0 comme TRUE lorsqu'il apparaît comme argument de test logique.

Test d'une sous-chaîne ou d'une correspondance partielle

Si vous souhaitez tester une plage pour voir si elle contient du texte spécifique (une sous-chaîne ou un texte partiel), vous pouvez ajouter des caractères génériques à la formule. Par exemple, si vous avez une valeur à rechercher dans la cellule C1 et que vous souhaitez vérifier la plage A1: A100, vous pouvez configurer COUNTIF pour rechercher cette valeur n'importe où dans une cellule en concaténant des astérisques:

=COUNTIF(A1:A100,"*"&C1&"*")>0

L'astérisque (*) est un caractère générique pour un ou plusieurs caractères. En concaténant des astérisques avant et après la valeur en C1, la formule comptera la sous-chaîne en C1 partout où elle apparaît dans chaque cellule de la plage.

Une formule alternative utilisant MATCH

Comme alternative, vous pouvez utiliser une formule qui utilise la fonction MATCH au lieu de COUNTIF:

=ISNUMBER(MATCH(value,range,0))

La fonction MATCH renvoie la position d'une correspondance (sous forme de nombre) si elle est trouvée, et # N / A si elle n'est pas trouvée. En enveloppant MATCH dans ISNUMBER, le résultat final sera TRUE lorsque MATCH trouve une correspondance et FALSE lorsque MATCH renvoie # N / A.

Articles intéressants...