Formule Excel: SUMPRODUCT compte plusieurs critères OR -

Table des matières

Formule générique

=SUMPRODUCT(ISNUMBER(MATCH(rng1,("A","B"),0))*ISNUMBER(MATCH(rng2,("X","Y","Z"),0)))

Sommaire

Pour compter les lignes correspondantes avec plusieurs critères OR, vous pouvez utiliser une formule basée sur la fonction SUMPRODUCT. Dans l'exemple illustré, la formule en F10 est:

=SUMPRODUCT(ISNUMBER(MATCH(B5:B11,("A","B"),0))* ISNUMBER(MATCH(C5:C11,("X","Y","Z"),0)))

Cette formule renvoie un nombre de lignes où la colonne 1 est A ou B et la colonne 2 est X, Y ou Z.

Explication

En travaillant de l'intérieur vers l'extérieur, chaque critère est appliqué avec une construction ISNUMBER + MATCH distincte. Pour générer un nombre de lignes dans la première colonne où la valeur est A ou B, nous utilisons:

ISNUMBER(MATCH(B5:B11,("A","B"),0)

MATCH génère un tableau de résultats qui ressemble à ceci:

(1;2;#N/A;1;2;1;2)

et ISNUMBER convertit ce tableau en ce tableau:

(TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE)

Pour générer un nombre de lignes dans la colonne deux où la valeur est X, Y ou Z, nous utilisons:

ISNUMBER(MATCH(C5:C11,("X","Y","Z"),0))

Puis MATCH retourne:

(1;2;3;3;#N/A;1;2)

et ISNUMBER se convertit en:

(TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE)

Ces deux tableaux sont multipliés ensemble dans SUMPRODUCT, qui convertit automatiquement les valeurs TRUE FALSE en 1 et 0 dans le cadre de l'opération mathématique.

Donc, pour visualiser, le résultat final est dérivé comme ceci:

=SUMPRODUCT((1;1;0;1;1;1;1)*(1;1;1;1;0;1;1)) =SUMPRODUCT((1;1;0;1;0;1;1)) =5

Avec des références de cellule

L'exemple ci-dessus utilise des constantes de tableau codées en dur, mais vous pouvez également utiliser des références de cellule:

=SUMPRODUCT(ISNUMBER(MATCH(B5:B11,E5:E6,0))*ISNUMBER(MATCH(C5:C11,F5:F7,0)))

Plus de critères

Cette approche peut être «mise à l'échelle» pour traiter plus de critères. Vous pouvez voir un exemple dans ce défi de formule.

Articles intéressants...