Formule Excel: la plage contient l'une des nombreuses valeurs -

Table des matières

Formule générique

=SUMPRODUCT(--(rng=values))>0

Sommaire

Pour tester si l'une de plusieurs valeurs existe dans une plage de cellules, vous pouvez utiliser une formule basée sur la fonction SOMMEPROD. Dans l'exemple illustré, la formule de la cellule F5 est:

=SUMPRODUCT(--(rng=B5:D5))>0

où "rng" est la plage nommée H4: H10 et contient les valeurs à rechercher.

Explication

Chaque élément de rng est comparé à chaque élément de valeurs et le résultat est un tableau de valeurs TRUE ou FALSE.

Le double négatif forcera les valeurs TRUE et FALSE à 1 et 0 respectivement. Puisque SUMPRODUCT ne reçoit qu'un seul tableau, il ajoute simplement les éléments du tableau et renvoie le résultat.

Logiquement, tout résultat supérieur à zéro signifie qu'au moins une valeur existe dans la plage. Donc, la dernière étape consiste à évaluer le résultat SUMPRODUCT pour voir s'il est supérieur à zéro. Tout résultat supérieur à zéro renvoie TRUE et tout résultat égal à zéro renvoie FALSE.

Avec des valeurs codées en dur

Vous pouvez également coder en dur les valeurs de recherche dans la formule, en utilisant ce que l'on appelle une «constante de tableau». Par exemple, si vous souhaitez rechercher 3 valeurs: rouge, cyan et magenta dans la plage H2: H8, vous pouvez utiliser:

=SUMPRODUCT(--(H2:H8=("red","cyan","magenta")))>0

Dans l'exemple ci-dessus ("rouge", "cyan", "magenta") est la constante de tableau, qui est une façon de fournir plusieurs valeurs dans un seul argument.

Correspondances partielles ou sous-chaînes

La formule ci-dessus teste uniquement l'équivalence et ne trouve pas de correspondances partielles ou de sous-chaînes dans la plage. Si vous avez besoin de rechercher des sous-chaînes, vous pouvez utiliser cette formule à la place.

Articles intéressants...