
Formule générique
=SUM(COUNTIF(INDIRECT(("rng1","rng2","rng3")),criteria))
Sommaire
Pour utiliser count une plage non contiguë avec des critères, vous pouvez utiliser la fonction COUNTIF avec INDIRECT et SUM. Dans l'exemple illustré, la cellule I5 contient cette formule:
=SUM(COUNTIF(INDIRECT(("B5:B8","D7:D10","F6:F11")),">50"))
Explication
COUNTIF compte le nombre de cellules dans une plage qui répondent à des critères donnés. Si vous essayez d'utiliser COUNTIF avec plusieurs plages séparées par des virgules, vous obtiendrez une erreur. Une solution consiste à écrire les plages sous forme de texte dans une constante de tableau à l'intérieur de la fonction INDIRECT comme ceci:
INDIRECT(("B5:B8","D7:D10","F6:F11"))
INDIRECT évaluera les valeurs de texte et passera les multiples plages dans COUNTIF. Étant donné que COUNTIF reçoit plusieurs plages, il renverra plusieurs résultats dans un tableau. Nous utilisons la fonction SOMME pour "attraper" et gérer le tableau:
=SUM((4,2,3))
La fonction SOMME renvoie ensuite la somme de toutes les valeurs, 9. Bien qu'il s'agisse d'une formule matricielle, elle ne nécessite pas de CSE, puisque nous utilisons une constante tableau.
Remarque: INDIRECT est une fonction volatile et peut avoir un impact sur les performances du classeur.
Plusieurs COUNTIFs
Une autre façon de résoudre ce problème consiste à utiliser plus d'un COUNTIF:
=COUNTIF(B5:B8,">50")+COUNTIF(D7:D10,">50")+COUNTIF(F6:F11,">50")
Avec un nombre limité de plages, cette approche peut être plus facile à mettre en œuvre. Cela évite les éventuels impacts sur les performances d'INDIRECT et autorise une syntaxe de formule normale pour les plages, de sorte que les plages seront automatiquement mises à jour avec les modifications de la feuille de calcul.
Plages à cellule unique
Avec des plages de cellules uniques, vous pouvez écrire une formule sans COUNTIF comme ceci:
=(A1>50)+(C1>50)+(E1>50)
Chaque expression renvoie VRAI ou FAUX, lorsqu'elles sont forcées à 1 et à zéro pendant l'opération mathématique. Voici un exemple d'utilisation de la logique booléenne dans une formule.