Formule Excel: la plage contient une valeur n'appartenant pas à une autre plage -

Formule générique

=SUMPRODUCT(--(ISNA(MATCH(rngA,rngB,0))))>0

Sommaire

Pour tester si une plage contient des valeurs (c'est-à-dire au moins une valeur) qui ne sont pas dans une autre plage, vous pouvez utiliser la fonction SOMMEPROD avec MATCH et ISNA.

Dans l'exemple illustré, la formule en F6 est:

=SUMPRODUCT(--(ISNA(MATCH(lista,listb,0))))>0

Explication

Normalement, la fonction MATCH reçoit une seule valeur de recherche et renvoie une seule correspondance le cas échéant. Dans ce cas, cependant, nous donnons à MATCH un tableau pour la valeur de recherche, donc il retournera un tableau de résultats, un par élément dans le tableau de recherche. MATCH est configuré pour "correspondance exacte". Si aucune correspondance n'est trouvée, MATCH renverra l'erreur # N / A. Après l'exécution du match, il retourne quelque chose comme ceci:

=SUMPRODUCT(--(ISNA((3;5;6;2;#N/A;4))))>0

Nous en profitons en utilisant la fonction ISNA pour tester les erreurs # N / A.

Après ISNA, nous avons:

=SUMPRODUCT(--((FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)))>0

Nous utilisons l'opérateur double négatif (double unaire) pour convertir les valeurs TRUE FALSE en uns et zéros, ce qui nous donne ceci:

=SUMPRODUCT((0;0;0;0;1;0))>0

SUMPRODUCT additionne ensuite les éléments du tableau et le résultat est comparé à zéro pour forcer un résultat TRUE ou FALSE.

Articles intéressants...