EXCEL offre un panel de fonctions évoluées très étendu ; parmi celles-ci figurent les fonctions de calcul conditionnel.
Les calculs conditionnels permettent d’effectuer des calculs en cas de réalisation d’une ou plusieurs conditions.
Pour commencer : les calculs monocritères…
Les fonctions SOMME.SI et NB.SI assurent les calculs conditionnels monocritères. Ces deux fonctions calculent respectivement la somme et le nombre d’occurrences d’une plage selon un seul critère :
- SOMME.SI(plagecondition;condition;plage)
- exemple : =SOMME.SI(C4:C11;”>0,15″;B4:B11) additionne le contenu de toutes les cellules comprises dans la plage B4:B11 pour lesquelles le contenu des cellules de la plage C4:C11 est supérieur à 15%, soit 68 000 €.
- NB.SI(plage;condition)
- exemple : =NB.SI(C4:C11;”>0,15″) compte le nombre de cellules de la plage C4:C11 dont le contenu est supérieur à 15%, soit 3 occurrences.
L’équivalent VBA de ces deux fonctions est :
- sumif(plagecondition,condition,plage) et
- countif(plage,condition).
Ces deux fonctions s’utilisent de la même manière que les fonctions Excel.
Vous aurez observé que les fonctions SOMME.SI et NB.SI et leurs équivalents VBA n’acceptent qu’un seul critère.
Et pour finir : les calculs multicritères
Depuis EXCEL 2007, deux nouvelles fonctions acceptant plus d’un critère ont été implémentées :
- SOMME.SI.ENS(plage;plagecondition1;condition1;plagecondition2; condition2;…)
- exemple : =SOMME.SI.ENS(B4:B11;C4:C11;”>0,15″;B4:B11;”<22000″) additionne le contenu de toutes les cellules comprises dans la plage B4:B11 pour lesquelles le contenu des cellules de la plage C4:C11 est supérieur à 15% et pour lesquelles le contenu des cellules de la plage B4:B11 est inférieur à 22 000 €, soit 21 000 €.
- NB.SI.ENS(plage1;condition1;plage2;condition2;…)
- exemple : =NB.SI.ENS(C4:C11;”>0,15″;B4:B11;”<22000″) compte le nombre de cellules de la plage C4:C11 dont le contenu est supérieur à 15% et dont le contenu de la plage B4:B11 est inférieur à 22 000 €, soit 1 occurrence.
Ces fonctions acceptent autant de critères que de besoin, même un seul (dans ce cas, les fonctions SOMME.SI.ENS et NB.SI.ENS équivalent à SOMME.SI et NB.SI).
Les fonctions SOMME.SI.ENS et NB.SI.ENS. fonctionnent de la même manière que SOMME.SI et NB.SI. Toutefois, pour la fonction SOMME.SI.ENS, les plages à additionner et les plages de critères sont inversées par rapport à SOMME.SI.
L’équivalent VBA de ces deux fonctions est :
- sumifs(plage,plagecondition1,condition1,plagecondition2,condition2,..),
- countifs(plage1,condition1,plage2,condition2…).
Ces deux fonctions s’utilisent de la même manière que les fonctions Excel.
Le classeur EXCEL reprenant les exemples cités dans cet articles est téléchargeable ci-après.
Approfondir le sujet : Programmer en VBA / Découvrir la série d’articles Maîtriser Excel
Derniers articles parBenoît RIVIERE (voir tous)
- Lancer l’exécution d’un script Python à partir d’une macro VBA - lundi 9 septembre 2024
- Open Data : quoi de neuf ? - lundi 2 septembre 2024
- Auditsi cité dans le podcast Marketing du cabinet comptable - mercredi 21 août 2024
- IA générative : aide à la rédaction de prompts efficaces - samedi 17 août 2024
- S’initier à l’analyse de données et l’automatisation des tâches - dimanche 11 août 2024
Bonjour , je vous remercie pour l’article ,
l’Excel me donne erreur quand je mets la formule =SOMME.SI.ENS(B4:B11;C4:C11; »>0,15″;B4:B11; »<22000″) il ne reconnait pas les caractère flèches et si je les enlève il donne erreur aussi , svp de m'aider sur ce sujet vu que c'est exactement la formule dont je cherchais , et merci beaucoup d'avance
après avoir vu le fichier excel , le problème est que dans mon fichier la valeur 0.15 est dans une cellule je veux dire elle est variable ou introduite manuellement dans une cellule A1 par exemple
Bonjour,
Pourriez-vous préciser ce que vous entendez par caractère flèches ? C’est ce signe-là : > ? Il s’agit du signe “plus grand que” que l’on obtient en le frappant sur le clavier, il est situé entre la touche Shift et le W.
Cordialement,
Benoît RIVIERE
Je viens de comprendre le problème. Vous parlez du » ? C’est un problème avec mon blog. Ce signe correspond en fait aux guillemets que l’on obtient avec la touche 3 (“).
J’espère que cela fonctionnera maintenant.
Bien cordialement,
Benoît RIVIERE
Pingback: EXCEL : calculs conditionnels avec les fonctions MIN et MAX – Audit & Systèmes d'Information
C’est interessant ce que vous avez partagé, moi je travail avec ce genre de formule depuis quelques années mais je voulais vraiment passer au vba par exemple nombre d’apparition d’un nom entre deux dates ou somme des montant se situant entre deux dates avec les formules somme.si.ens et nb.si.ens en vba. Je sais les faire en macro automatique mais je voulais un vba avancé. Merci pour la compréhension.
Pingback: RECHERCHEX, la nouvelle fonction de recherche de données d'Excel qui ringardise RECHERCHEV - Audit & Systèmes d'Information
Pingback: Excel : effectuer des calculs conditionnels en fonction de la couleur des cellules - Audit & Systèmes d'Information