- SOMME.SI(plage_critère; critère; plage_somme) additionne les montants dont la ligne répond à une condition ; NB.SI compte les lignes, MOYENNE.SI en fait la moyenne.
- Un critère peut être une valeur ("Non payé"), un nombre, une expression avec opérateur (">=5000") ou un motif avec joker ("Sud*") ; on le range dans une cellule pour le modifier sans toucher à la formule.
- La plage de critère et la plage de somme doivent avoir la même taille et le même point de départ, sinon la formule additionne de mauvaises lignes.
- Pour deux critères ou plus (compte et période), on passe à SOMME.SI.ENS (épisode 23).
Un comptable passe son temps à répondre à des questions du type : « combien avons-nous payé au compte 6111 ? », « combien de factures sont encore impayées ? », « quel est le montant moyen des achats auprès de ce fournisseur ? ». Ces questions s’expriment par « total (ou nombre, ou moyenne) des lignes qui répondent à un critère ». Trois fonctions les résolvent sans trier ni filtrer.
Ce que vous saurez faire à la fin de l’épisode
- écrire SOMME.SI, NB.SI et MOYENNE.SI avec la bonne plage de critère ;
- formuler un critère : texte, nombre, comparaison, joker, référence de cellule ;
- déléguer le critère à une cellule pour rendre le tableau interactif ;
- vérifier un résultat sans se tromper de plage ;
- reconnaître quand un second critère impose SOMME.SI.ENS.
Les trois fonctions
| Fonction | Syntaxe | Résultat |
|---|---|---|
SOMME.SI (SUMIF) |
=SOMME.SI(plage_critère; critère; plage_somme) |
Somme des montants des lignes qui répondent au critère |
NB.SI (COUNTIF) |
=NB.SI(plage; critère) |
Nombre de lignes qui répondent au critère |
MOYENNE.SI (AVERAGEIF) |
=MOYENNE.SI(plage_critère; critère; plage_moyenne) |
Moyenne des montants de ces lignes |
Lecture de SOMME.SI : « parmi les lignes dont la plage de critère vérifie le critère, additionne la plage de somme ». Si la plage de somme est omise, Excel additionne la plage de critère elle-même (pratique pour ">=5000" sur la colonne des montants).
Le cas : un journal de charges de janvier
Atlas Négoce a huit lignes de charges avec compte, tiers, montant et statut de paiement. Le gérant pose sept questions.
Figure 1 : les questions (colonne G), les critères saisis (colonne H, en jaune) et les réponses (colonne I).
| Question | Critère | Formule | Réponse |
|---|---|---|---|
| Total du compte 6111 | 6111 |
=SOMME.SI($B$2:$B$9;H2;$D$2:$D$9) |
33 780,00 |
| Total du compte 6131 | 6131 |
=SOMME.SI($B$2:$B$9;H3;$D$2:$D$9) |
17 000,00 |
| Montant des lignes non payées | Non payé |
=SOMME.SI($E$2:$E$9;H4;$D$2:$D$9) |
23 250,00 |
| Nombre de lignes non payées | Non payé |
=NB.SI($E$2:$E$9;H5) |
3 |
| Total des montants ≥ 5 000 | >=5000 |
=SOMME.SI($D$2:$D$9;H6) |
39 600,00 |
| Total des tiers commençant par Sud | Sud* |
=SOMME.SI($C$2:$C$9;H7;$D$2:$D$9) |
29 550,00 |
| Moyenne des lignes du compte 6111 | 6111 |
=MOYENNE.SI($B$2:$B$9;H8;$D$2:$D$9) |
5 630,00 |
Vérifions deux résultats à la main, ce qu’il faut toujours faire. Le compte 6111 compte six lignes : 10 000 + 12 600 + 3 450 + 4 800 + 2 150 + 780 = 33 780 ; sa moyenne est 33 780 ÷ 6 = 5 630. Les montants supérieurs ou égaux à 5 000 sont 10 000, 8 500, 12 600 et 8 500 : 39 600. Les tiers commençant par « Sud » sont Sud Distribution (10 000 + 12 600 + 2 150) et Sud Négoce (4 800) : 29 550.
Écrire un critère
| Type | Critère | Sens |
|---|---|---|
| Valeur exacte | "Non payé" ou H4 |
Égal à « Non payé » |
| Nombre | 5000 ou H6 |
Égal à 5 000 |
| Comparaison | ">=5000" |
Supérieur ou égal à 5 000 |
| Différent de | "<>Payé" |
Différent de « Payé » |
| Commence par | "Sud*" |
Joker * : toute suite de caractères |
| Contient | "*Atlas*" |
Contient « Atlas » |
| Un caractère | "6?11" |
Joker ? : un seul caractère |
| Cellule vide / non vide | "" / "<>" |
Cellule vide / non vide |
| Comparaison avec une cellule | ">="&H2 |
Supérieur ou égal à la valeur de H2 |
| Date | ">="&DATE(2026;2;1) |
Postérieur ou égal au 1er février 2026 |
Trois règles pratiques :
- Mettez le critère dans une cellule.
=SOMME.SI($B$2:$B$9;H2;$D$2:$D$9)se modifie en changeantH2, sans toucher à la formule ; on peut y brancher une liste déroulante (épisode 11) pour créer un petit tableau de consultation. - Un opérateur reste entre guillemets, la référence est collée avec
&:">="&H2, et non">=H2"(qui chercherait le texte « H2 »). - Pour chercher un vrai
*ou?, faites-le précéder d’un tilde (~*).
Les pièges
- Plages de tailles différentes ou décalées.
SOMME.SI($B$2:$B$9;…;$D$2:$D$10)n’est pas refusée par Excel : elle additionne les cellules en alignant le début des deux plages, et produit un résultat erroné sans erreur. Les deux plages doivent débuter à la même ligne et avoir la même hauteur (les tableaux Excel règlent ce risque). - Les types.
SOMME.SIest plus tolérante queRECHERCHEV: le critère"6111"trouve aussi bien le texte6111que le nombre 6111. Mais un espace parasite ("6111 ") ou une valeur en texte comme"≥ 5 000"échappe au critère. - Les critères sur le texte ne tiennent pas compte de la casse :
"payé"et"Payé"sont équivalents. - Un second critère. Dès qu’il en faut deux (compte et statut, compte et période),
SOMME.SIne suffit plus : c’est le rôle deSOMME.SI.ENS(épisode 23). Quelques contournements existent (cumuler avecSOMMEPROD, épisode 24), mais ils sont moins lisibles. - Fichiers fermés.
SOMME.SIne lit pas une plage située dans un classeur fermé (elle renvoie#VALEUR!) : ouvrez le fichier source ou utilisez Power Query (épisode 46). - Références à des plages entières.
SOMME.SI(B:B;…;D:D)est valide et prend en compte les lignes ajoutées ; elle est plus lente sur de très gros classeurs, mais très pratique dans un tableau de bord alimenté en continu.
Une construction fréquente : le taux d’impayés
La combinaison de deux fonctions donne des indicateurs utiles :
=SOMME.SI(E2:E9;"Non payé";D2:D9) / SOMME(D2:D9)
Sur notre journal, le total des charges est 10 000 + 8 500 + 12 600 + 3 450 + 8 500 + 4 800 + 2 150 + 780 = 50 780, dont 23 250 non payés : le taux d’impayés vaut 23 250 ÷ 50 780 = 45,8 %. Un taux se vérifie sur ses deux termes (numérateur et dénominateur), pas seulement sur le résultat.
À vous de jouer
Dans l’onglet Journal du classeur d’exercice :
- Complétez
I2:I8avec les formules du tableau et vérifiez les résultats à la main sur deux d’entre elles. - Ajoutez la question « Total des lignes dont le tiers contient Atlas » avec le critère
*Atlas*: quel montant ? - Calculez le total des lignes payées du compte 6111. Quel problème rencontrez-vous avec
SOMME.SI? (Indice : deux critères.) - Modifiez le critère de la question 5 en
">"&10000: quel résultat ?
Correction. La question 2 donne : Immobilière Atlas (8 500 + 8 500) et Papeterie Atlas (3 450 + 780) = 21 230,00. La question 3 nécessite deux critères (compte 6111 et statut Payé) : SOMME.SI ne le permet pas ; la réponse, par SOMME.SI.ENS, est 19 030,00 (10 000 + 3 450 + 4 800 + 780). Avec le critère ">"&10000, une seule ligne dépasse strictement 10 000 (12 600) ; la ligne de 10 000 exactement est exclue, car elle n’est pas strictement supérieure : le résultat est 12 600,00.
À retenir
SOMME.SI(plage_critère; critère; plage_somme),NB.SI(plage; critère),MOYENNE.SI(…): un critère, trois usages.- Un critère peut être un texte, un nombre, une comparaison entre guillemets, un joker ; mettez-le dans une cellule.
- Même taille, même point de départ pour les plages ; vérifiez un résultat à la main.
- Pour plusieurs critères :
SOMME.SI.ENS, à l’épisode suivant.
Épisode 23 : SOMME.SI.ENS et NB.SI.ENS, avec lesquelles nous construirons une balance générale à partir d’un journal.
Questions fréquentes
Quelle différence entre SOMME.SI et SOMME.SI.ENS ?
SOMME.SI accepte un seul critère ; SOMME.SI.ENS en accepte plusieurs (jusqu’à 127 paires plage/critère). Attention à l’ordre des arguments : SOMME.SI place la plage de somme en dernier, SOMME.SI.ENS en premier.
Comment utiliser un opérateur de comparaison avec une cellule ?
En concaténant : =SOMME.SI(D2:D9;">="&H2) additionne les montants supérieurs ou égaux à la valeur de H2. L’opérateur est entre guillemets, la référence de cellule est collée avec &.
SOMME.SI tient-elle compte des majuscules ?
Non : "payé" et "Payé" sont équivalents. En revanche, les espaces parasites comptent : "Payé " avec un espace final n’est pas égal à "Payé". Nettoyez les données avec SUPPRESPACE.
Comment sommer sur des dates ?
Avec des critères construits à partir d’une date : =SOMME.SI(A2:A100;">="&DATE(2026;2;1);D2:D100). Pour une période bornée des deux côtés, utilisez SOMME.SI.ENS.
Articles rédigés par l’équipe du cabinet à partir des textes officiels et de la pratique des missions. Chaque article indique sa date de publication et, le cas échéant, de dernière revue.