Excel COUNTIF et COUNTIFS avec logique OR

  • Partage Ça
Michael Brown

Le tutoriel explique comment utiliser les fonctions COUNTIF et COUNTIFS d'Excel pour compter les cellules avec plusieurs conditions OR, par exemple si une cellule contient X, Y ou Z.

Comme chacun le sait, la fonction COUNTIF d'Excel est conçue pour compter les cellules sur la base d'un seul critère, tandis que la fonction COUNTIFS évalue plusieurs critères avec la logique AND. Mais qu'en est-il si votre tâche requiert la logique OR - lorsque plusieurs conditions sont fournies, n'importe laquelle peut correspondre pour être incluse dans le compte ?

Il y a plusieurs solutions possibles à cette tâche, et ce tutoriel les couvrira toutes en détail. Les exemples impliquent que vous ayez une bonne connaissance de la syntaxe et des utilisations générales des deux fonctions. Si ce n'est pas le cas, vous pouvez commencer par réviser les bases :

Fonction COUNTIF d'Excel - compte les cellules avec un critère.

Fonction COUNTIFS d'Excel - compte les cellules avec des critères ET multiples.

Maintenant que tout le monde est sur la même longueur d'onde, allons-y :

    Compter les cellules avec des conditions OR dans Excel

    Cette section couvre le scénario le plus simple - compter les cellules qui remplissent l'une (au moins) des conditions spécifiées.

    Formule 1 : COUNTIF + COUNTIF

    La façon la plus simple de compter les cellules qui ont une valeur ou une autre (Countif a ou b ) est d'écrire une formule COUNTIF normale pour compter chaque élément individuellement, puis d'additionner les résultats :

    COUNTIF( gamme , critère1 ) + COUNTIF( gamme , critère2 )

    À titre d'exemple, trouvons combien de cellules de la colonne A contiennent soit des "pommes", soit des "bananes" :

    =COUNTIF(A:A, "pommes") + COUNTIF(A:A, "bananes")

    Dans les feuilles de calcul réelles, il est préférable d'opérer sur des plages plutôt que sur des colonnes entières pour que la formule fonctionne plus rapidement. Pour éviter d'avoir à mettre à jour votre formule chaque fois que les conditions changent, tapez les éléments qui vous intéressent dans des cellules prédéfinies, par exemple F1 et G1, et faites référence à ces cellules. Par exemple :

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

    Cette technique fonctionne bien pour un couple de critères, mais l'ajout de trois fonctions COUNTIF ou plus rendrait la formule trop lourde. Dans ce cas, il vaut mieux s'en tenir à l'une des alternatives suivantes.

    Formule 2 : COUNTIF avec constante de tableau

    Voici une version plus compacte de la formule SUMIF avec conditions OR dans Excel :

    SOMME(COUNTIF( gamme , { critère1 , critère2 , critère3 , ...}))

    La formule est construite de cette manière :

    Tout d'abord, vous regroupez toutes les conditions dans une constante de tableau - les éléments individuels sont séparés par des virgules et le tableau est entouré d'accolades comme {"pommes", "bananes", "citrons"}.

    Ensuite, vous incluez la constante du tableau dans le critères argument d'une formule COUNTIF normale : COUNTIF(A2:A10, {"pommes", "bananes", "citrons"})

    Enfin, déformez la formule COUNTIF dans la fonction SUM. C'est nécessaire car COUNTIF retournera 3 comptes individuels pour "pommes", "bananes" et "citrons", et vous devez additionner ces comptes.

    Notre formule complète est la suivante :

    =SUM(COUNTIF(A2:A10,{"pommes", "bananes", "citrons"}))

    Si vous préférez fournir vos critères comme références de la gamme vous devrez entrer la formule avec Ctrl + Shift + Enter pour en faire une formule de tableau. Par exemple :

    =SOMME(COUNTIF(A2:A10,F1:H1))

    Remarquez les accolades dans la capture d'écran ci-dessous - c'est l'indication la plus évidente d'une formule de tableau dans Excel :

    Formule 3. SUMPRODUCT

    Une autre façon de compter les cellules avec la logique OU dans Excel est d'utiliser la fonction SUMPRODUCT de cette manière :

    SUMPRODUCT(1*( gamme ={ critère1 , critère2 , critère3 , ...}))

    Pour mieux visualiser la logique, cela pourrait aussi être écrit comme suit :

    SUMPRODUCT(( gamme = critère1 ) + ( gamme = critère2 ) + ...)

    La formule teste chaque cellule de la plage en fonction de chaque critère et renvoie VRAI si le critère est rempli, FAUX sinon. Comme résultat intermédiaire, vous obtenez quelques tableaux de valeurs VRAIES et FAUX (le nombre de tableaux est égal au nombre de vos critères). Ensuite, les éléments du tableau qui se trouvent dans la même position sont additionnés, c'est-à-dire que les premiers éléments de tous les tableaux, les deuxièmes éléments, etc.L'opération d'addition convertit les valeurs logiques en nombres, de sorte que vous obtenez un tableau de 1 (un des critères correspond) et de 0 (aucun des critères ne correspond). Comme tous les critères sont testés par rapport aux mêmes cellules, il est impossible qu'un autre nombre apparaisse dans le tableau résultant - seul un tableau initial peut avoir VRAI à une position spécifique, les autres auront FAUX. Enfin, SUMPRODUCTadditionne les éléments du tableau résultant, et vous obtenez le nombre désiré.

    La première formule fonctionne de manière similaire, à la différence qu'elle renvoie un tableau à deux dimensions de valeurs VRAI et FAUX, que vous multipliez par 1 pour convertir les valeurs logiques en 1 et 0, respectivement.

    Appliquées à notre échantillon de données, les formules prennent la forme suivante :

    =SUMPRODUCT(1*(A2:A10={"pommes", "bananes", "citrons"}))

    Ou

    =SUMPRODUCT((A2:A10="pommes") + (A2:A10="bananes") + (A2:A10="citrons"))

    Remplacez la constante de tableau codée en dur par une référence de plage, et vous obtiendrez une solution encore plus élégante :

    =SUMPRODUIT(1*( A2:A10=F1:H1))

    Remarque : la fonction SUMPRODUCT est plus lente que COUNTIF, c'est pourquoi il est préférable d'utiliser cette formule sur des ensembles de données relativement petits.

    Compter les cellules avec la logique OU et la logique ET

    Lorsque vous travaillez avec de grands ensembles de données comportant des relations multi-niveaux et multiniveaux entre les éléments, il est probable que vous deviez compter les cellules avec des conditions OU et ET à la fois.

    Par exemple, obtenons le nombre de "pommes", de "bananes" et de "citrons" qui ont été "livrés". Comment faire ? Pour commencer, traduisons nos conditions dans le langage d'Excel :

    • Colonne A : "pommes" ou "bananes" ou "citrons".
    • Colonne C : " livré ".

    D'un autre point de vue, nous devons compter les rangées avec "pommes et livrées" OU "bananes et livrées" OU "citrons et livrés". De cette façon, la tâche se résume à compter les cellules avec 3 conditions OU - exactement ce que nous avons fait dans la section précédente ! La seule différence est que vous utiliserez des COUNTIFS au lieu de COUNTIF pour évaluer le critère ET dans chaque condition OU.

    Formule 1 : COUNTIFS + COUNTIFS

    C'est la formule la plus longue, qui est la plus facile à écrire :)

    =COUNTIFS(A2:A10, "pommes", C2:C10, "livré") + COUNTIFS(A2:A10, "bananes", C2:C10, "livré")) + COUNTIFS(A2:A10, "citrons", C2:C10, "livré"))

    La capture d'écran ci-dessous montre la même formule avec des références de cellules :

    =COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Formule 2. COUNTIFS avec constante de tableau

    Une formule COUNTIFS plus compacte avec une logique AND/OR peut être créée en regroupant les critères OR dans une constante de tableau :

    =SUM(COUNTIFS(A2:A10, {"pommes", "bananes", "citrons"}, C2:C10, "livré"))

    Lorsque vous utilisez une référence de plage pour les critères, vous avez besoin d'une formule de tableau, complétée en appuyant sur Ctrl + Shift + Enter :

    =SOMME(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Conseil : si nécessaire, vous êtes libre d'utiliser caractères de remplacement Par exemple, pour compter toutes les sortes de bananes, comme les "bananes vertes" ou les "bananes goldfinger", vous pouvez utiliser cette formule :

    =SUM(COUNTIFS(A2:A10, {"pommes", "*bananes*", "citrons"}, C2:C10, "livré"))

    De la même manière, vous pouvez créer une formule pour compter les cellules en fonction d'autres types de critères. Par exemple, pour obtenir le nombre de "pommes", "bananes" ou "citrons" qui ont été "livrés" et dont le montant est supérieur à 200, ajoutez une autre paire plage de critères/critères à COUNTIFS :

    =SUM(COUNTIFS(A2:A10, {"pommes", "*bananes*", "citrons"}, C2:C10, "livré", B2:B10, ">200"))

    Ou bien, utilisez cette formule de tableau (saisie par Ctrl + Shift + Enter ) :

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Compter les cellules avec de multiples conditions OR

    Dans l'exemple précédent, vous avez appris à tester un ensemble de conditions OU. Mais que faire si vous avez deux ensembles ou plus et que vous cherchez à obtenir un total de toutes les relations OU possibles ?

    Selon le nombre de conditions que vous devez gérer, vous pouvez utiliser soit COUNTIFS avec une constante de tableau, soit SUMPRODUCT avec ISNUMBER MATCH. La première formule est relativement facile à construire, mais elle est limitée à 2 ensembles de conditions OR. La seconde peut évaluer n'importe quel nombre de conditions (un nombre raisonnable, bien sûr, étant donné la limite d'Excel à 255 arguments et 8192 caractères pour la longueur totale de la formule),mais il faut parfois faire des efforts pour comprendre la logique de la formule.

    Compter les cellules avec 2 ensembles de conditions OR

    Lorsqu'on a affaire à seulement deux ensembles de critères OU, il suffit d'ajouter une constante de tableau supplémentaire à la formule COUNTIFS présentée ci-dessus.

    Pour que la formule fonctionne, un changement minuscule mais essentiel est nécessaire : utiliser un réseau horizontal (éléments séparés par des virgules) pour un ensemble de critères et réseau vertical (Cela indique à Excel de "coupler" ou de "calculer en croix" les éléments des deux tableaux, et de renvoyer un tableau bidimensionnel des résultats.

    Par exemple, comptons les "pommes", les "bananes" ou les "citrons" qui sont soit "livrés" soit "en transit" :

    =SUM(COUNTIFS(A2:A10, {"pommes", "bananes", "citrons"}, B2:B10, {"livré" ; "en transit"}))

    Veuillez noter le point-virgule dans la deuxième constante du tableau :

    Comme Excel est un programme à 2 dimensions, il n'est pas possible de construire un tableau à 3 dimensions ou à 4 dimensions, et cette formule ne fonctionne donc que pour deux ensembles de critères OU. Pour compter avec plus de critères, vous devrez passer à une formule SUMPRODUCT plus complexe expliquée dans l'exemple suivant.

    Compter les cellules avec plusieurs ensembles de conditions OR

    Pour compter les cellules avec plus de deux ensembles de critères OU, utilisez la fonction SUMPRODUCT avec ISNUMBER MATCH.

    Par exemple, comptons les "pommes", "bananes" ou "citrons" qui ont été "livrés" ou "en transit" et qui sont emballés dans un "sac" ou un "plateau" :

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"pommes", "bananes", "citrons"},0))*

    ISNUMBER(MATCH(B2:B10,{"bag", "tray"},0))*

    ISNUMBER(MATCH(C2:C10,{"delivered", "in transit"},0))))

    Au cœur de la formule, la fonction MATCH vérifie les critères en comparant chaque cellule de la plage spécifiée avec la constante de tableau correspondante. Si la correspondance est trouvée, elle renvoie une position relative de la valeur dans le tableau, N/A sinon. ISNUMBER convertit ces valeurs en VRAI et FAUX, qui correspondent respectivement à 1 et 0. SUMPRODUCT prend le relais et multiplie les constantes des tableauxComme la multiplication par zéro donne zéro, seules les cellules qui ont 1 dans tous les tableaux survivent et sont additionnées.

    La capture d'écran ci-dessous montre le résultat :

    C'est ainsi que vous utilisez les fonctions COUNTIF et COUNTIFS dans Excel pour compter les cellules avec plusieurs conditions ET et OU. Pour voir de plus près les formules abordées dans ce tutoriel, nous vous invitons à télécharger notre classeur type ci-dessous. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Cahier d'exercices

    COUNTIF Excel avec conditions OR - exemples (fichier .xlsx)

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.