Les fonctions conditionnelles Excel : SI, NB.SI, SOMME.SI
Classer un client en « gros » ou « petit », compter les ventes d'une région, additionner le chiffre d'affaires d'un seul vendeur : toutes ces opérations reposent sur les fonctions conditionnelles du tableur. La fonction SI, NB.SI et SOMME.SI, avec leurs exemples d'application en gestion, figurent dans presque tous les sujets de l'UE 8 du DCG. Voici comment les maîtriser, syntaxe par syntaxe, avec les pièges qui font perdre des points.
La fonction SI : le test logique de base
La syntaxe : =SI(condition ; valeur_si_vrai ; valeur_si_faux).
Exemple : =SI(A1>100 ; "Gros client" ; "Petit client"). Si le contenu de A1 dépasse 100, la cellule affiche « Gros client » ; sinon « Petit client ». La condition peut utiliser tous les opérateurs de comparaison (>, <, >=, <=, =, <>) et se combiner avec ET() et OU() pour tester plusieurs critères simultanément.
Les valeurs renvoyées peuvent être du texte, un nombre ou un calcul : =SI(B2>500 ; B2*5% ; 0) calcule une remise de 5 % au-delà de 500 euros, et 0 sinon.
Des SI imbriqués à SI.CONDITIONS
Quand il y a plus de deux issues possibles, on imbrique les SI : =SI(B2>20000 ; B2*12% ; SI(B2>=10000 ; B2*8% ; B2*5%)). Le tableur évalue les conditions de gauche à droite et s'arrête à la première qui est vraie. Au-delà de trois niveaux, la lisibilité s'effondre et les parenthèses deviennent sources d'erreurs.
Depuis Excel 2019, SI.CONDITIONS remplace avantageusement les SI imbriqués :
=SI.CONDITIONS(cond1 ; val1 ; cond2 ; val2 ; ... ; VRAI ; val_defaut)
La même commission s'écrit : =SI.CONDITIONS(B2>20000 ; B2*12% ; B2>=10000 ; B2*8% ; VRAI ; B2*5%). Le couple final VRAI ; valeur joue le rôle du « sinon » par défaut.
NB.SI, SOMME.SI et MOYENNE.SI : compter, sommer, moyenner sous condition
Trois fonctions sœurs, à un critère :
=NB.SI(plage ; critère) compte les cellules qui remplissent le critère. Exemple : =NB.SI(B2:B100 ; "Paris") compte les clients parisiens.
=SOMME.SI(plage_critère ; critère ; plage_somme) additionne les valeurs de la plage de somme quand le critère est satisfait. Exemple : =SOMME.SI(B2:B100 ; "Paris" ; C2:C100) somme le CA des clients parisiens.
=MOYENNE.SI(plage_critère ; critère ; plage_moyenne) calcule la moyenne sous la même logique.
Attention à l'ordre des arguments de SOMME.SI : d'abord la plage où s'applique le critère, puis le critère, puis la plage à additionner. Le critère peut être un texte ("Lyon"), un nombre, ou une comparaison entre guillemets (">3000").
Plusieurs critères : SOMME.SI.ENS et NB.SI.ENS
Dès que deux conditions doivent être vraies en même temps, on passe aux versions « .ENS » :
=SOMME.SI.ENS(plage_somme ; plage_critère1 ; critère1 ; plage_critère2 ; critère2 ; ...)
=NB.SI.ENS(plage_critère1 ; critère1 ; plage_critère2 ; critère2 ; ...)
Exemple : total des ventes de la région Nord pour l'année 2025 : =SOMME.SI.ENS(D:D ; A:A ; "Nord" ; B:B ; 2025). Nombre de ces ventes : =NB.SI.ENS(A:A ; "Nord" ; B:B ; 2025).
Piège classique : dans SOMME.SI.ENS, la plage de somme vient en premier, alors que dans SOMME.SI elle vient en dernier. Cette inversion d'ordre est un grand pourvoyeur d'erreurs en situation d'examen. Les fonctions .ENS acceptent jusqu'à 127 paires critère/plage.
Pour les conditions plus complexes (critères calculés, pondérations), SOMMEPROD offre une alternative : =SOMMEPROD((A2:A10="Nord")*(C2:C10)) est équivalent à un SOMME.SI.
Un exemple chiffré : le tableau de bord de la société Calliope
Prenons le cas de la société Calliope, distributeur de matériel informatique, dont le fichier de ventes contient en colonne A les villes, en colonne B les codes vendeurs, en colonne C les montants HT. Le directeur commercial veut un mini tableau de bord :
- Nombre de ventes à Lyon :
=NB.SI(A:A ; "Lyon"). Résultat : 42 ventes.
- CA total de Lyon :
=SOMME.SI(A:A ; "Lyon" ; C:C). Résultat : 38 500 euros.
- CA moyen d'une vente lyonnaise :
=MOYENNE.SI(A:A ; "Lyon" ; C:C), soit environ 917 euros.
- Nombre de ventes du vendeur V01 à Lyon supérieures à 1 000 euros :
=NB.SI.ENS(A:A ; "Lyon" ; B:B ; "V01" ; C:C ; ">1000").
- Classification de chaque vente :
=SI.CONDITIONS(C2>500 ; "Grande" ; C2>=100 ; "Moyenne" ; VRAI ; "Petite"), recopiée sur toute la colonne.
Chaque formule est écrite une fois, en haut de colonne, puis recopiée : les plages entières (A:A, C:C) ou les plages absolues garantissent la stabilité de la recopie.
Les erreurs fréquentes
- Inverser l'ordre des arguments entre SOMME.SI et SOMME.SI.ENS : plage de somme en dernier pour la première, en premier pour la seconde.
- Oublier les guillemets autour des critères de comparaison : il faut écrire
">3000" et non >3000.
- Confondre NB.SI et NBVAL : NB.SI compte selon un critère ; NBVAL compte simplement les cellules non vides.
- Empiler plus de trois SI imbriqués : préférer SI.CONDITIONS ou une table de correspondance avec RECHERCHEV.
- Tester l'égalité d'un texte avec une casse ou une orthographe approximative : « lyon » et « Lyon » fonctionnent, mais un espace parasite en fin de saisie fait échouer le critère.
FAQ
Quelle différence entre SOMME.SI et SOMME.SI.ENS ?
SOMME.SI gère un seul critère et place la plage de somme en dernier argument. SOMME.SI.ENS gère plusieurs critères simultanés (jusqu'à 127) et place la plage de somme en premier argument. Pour un seul critère, les deux fonctionnent, mais l'ordre des arguments diffère : c'est le point à vérifier en priorité.
Comment écrire un critère « supérieur à » dans NB.SI ?
En plaçant l'opérateur et la valeur entre guillemets : =NB.SI(D2:D9 ; ">3000"). Pour comparer à une cellule, on concatène : =NB.SI(D2:D9 ; ">"&G1) compte les valeurs supérieures au contenu de G1.
Quand utiliser SI.CONDITIONS plutôt que des SI imbriqués ?
Dès qu'il y a trois issues ou plus. SI.CONDITIONS énumère les couples condition/valeur dans l'ordre et se termine par VRAI ; valeur_par_défaut. La formule est plus courte, plus lisible et limite les erreurs de parenthèses. Elle nécessite Excel 2019 ou une version plus récente.
Entraînez-vous
Un vendeur touche une commission selon son CA mensuel (cellule B2) : moins de 10 000 euros = 5 % ; de 10 000 à 20 000 euros = 8 % ; plus de 20 000 euros = 12 %. 1) Écrivez la formule avec des SI imbriqués. 2) Écrivez la formule avec SI.CONDITIONS. 3) Un tableau de ventes contient en colonne A les villes et en colonne B les montants : comptez les ventes de Lyon, calculez leur total et leur moyenne.
Afficher le corrigé
SI imbriqués : =SI(B2>20000 ; B2*12% ; SI(B2>=10000 ; B2*8% ; B2*5%)). La première condition vraie l'emporte : on teste d'abord la tranche haute, puis la tranche intermédiaire ; le dernier argument couvre le cas restant (moins de 10 000).
SI.CONDITIONS : =SI.CONDITIONS(B2>20000 ; B2*12% ; B2>=10000 ; B2*8% ; VRAI ; B2*5%). Le couple final VRAI ; B2*5% sert de valeur par défaut. La formule est nettement plus lisible.
Ventes de Lyon :
- Comptage :
=NB.SI(A:A ; "Lyon")
- Total :
=SOMME.SI(A:A ; "Lyon" ; B:B)
- Moyenne :
=MOYENNE.SI(A:A ; "Lyon" ; B:B)
Dans SOMME.SI et MOYENNE.SI, la plage du critère (les villes) vient en premier, le critère ensuite, la plage des montants en dernier.