Formule Excel: compter si la ligne répond à plusieurs critères internes -

Table des matières

Formule générique

=SUMPRODUCT((logical1)*(logical2))

Sommaire

Pour compter les lignes d'une table qui répondent à plusieurs critères, dont certains dépendent de tests logiques qui fonctionnent au niveau de la ligne, vous pouvez utiliser la fonction SOMMEPROD.

Le contexte

Vous avez un tableau qui contient les résultats des matchs sportifs. Vous avez quatre colonnes: équipe à domicile, équipe visiteuse, score de l'équipe à domicile, score de l'équipe visiteuse. Pour une équipe donnée, vous ne voulez compter que les matchs (lignes) où l'équipe a gagné à domicile. Il est facile de compter les matchs (lignes) où une équipe était l'équipe à domicile, mais comment ne comptez-vous que les victoires?

C'est une bonne utilisation de la fonction SUMPRODUCT, qui peut gérer les opérations de tableau (pensez aux opérations qui traitent des plages) de manière native.

Dans l'exemple illustré, la formule de la cellule H5 est:

=SUMPRODUCT((B5:B10=G5)*(D5:D10>E5:E10))

Explication

La fonction SOMMEPROD est programmée pour gérer les tableaux de manière native, sans nécessiter la touche Control Shift Enter. Son comportement par défaut consiste à multiplier les éléments correspondants dans un ou plusieurs tableaux ensemble, puis à additionner les produits. Lorsqu'il est donné un seul tableau, il renvoie la somme des éléments du tableau.

Dans cet exemple, nous utilisons deux expressions logiques dans un seul argument de tableau. Nous pourrions placer chaque expression dans un argument distinct, mais nous aurions alors besoin de forcer les valeurs logiques TRUE FALSE à des uns et des zéros avec un autre opérateur.

En utilisant l'opérateur de multiplication pour multiplier les deux tableaux ensemble, Excel contraindra automatiquement les valeurs logiques à des uns et des zéros.

Une fois les deux expressions logiques évaluées, la formule ressemble à ceci:

=SUMPRODUCT(((FALSE;TRUE;FALSE;TRUE;FALSE;TRUE))*((TRUE;TRUE;TRUE;FALSE;TRUE;TRUE)))

Une fois les deux tableaux multipliés, la formule ressemble à ceci:

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

Avec un seul tableau restant, SUMPRODUCT ajoute simplement les éléments du tableau et renvoie la somme.

Articles intéressants...