Temps de lecture estimé : 5 minutes
La fonction SOMME.SI.ENS se construit exactement comme la fonction NB.SI.ENS.
- Sélection de la colonne à additionner
Important, c'est la colonne qui contient les données à additionner
- Colonne avec le premier critère de sélection
Sélectionner la colonne contenant le premier critère
- Valeur du critère 1
Valeur du premier critère
- (optionnel) Colonne avec le deuxième critère de sélection
Sélectionner la colonne contenant le deuxième critère
- (optionnel) Valeur du critère 2
Valeur du deuxième critère
=SOMME.SI.ENS(Plage à additionner;Plage de sélection 1;Critère 1;Plage de sélection 2;Critère 2;...)
La fonction SOMME.SI.ENS peut se construire avec 256 colonnes de filtrage. Mais en pratique, on dépasse rarement les 3 ou 4 colonnes de critères
Erreur à ne pas commettre ⛔
Pour mieux comprendre l'intérêt de la fonction SOMME.SI.ENS, nous allons partir de ce document qui retrace les ventes de fruits pour 2 magasins sur une semaine
Quel est le montant de la vente d'Abricot le 18 Juillet 2023 ? Dans une telle situation, beaucoup d'utilisateurs d'Excel utilisent le filtre des colonnes et ensuite lisent la somme dans la barre de statue

Oui ça fonctionne ! Mais si vous devez faire la même chose pour chacun des produits, pour différentes dates, cette technique va vous prendre beaucoup de temps. Et surtout il y a deux erreurs majeures :
- Erreur de recopie de la somme
- Oublie de sélection d'un critère
C'est pour cela que la fonction SOMME.SI.ENS va vous éviter ces erreurs et tout en faisant le travail plus rapidement.
Montant des ventes des abricots le 18 Juillet ?
Nous allons reprendre l'exemple initial pour calculer le montant des ventes d'abricots le 18 juillet 2023. Pour cela, nous allons écrire à coté de notre tableau de données, les 2 critères Abricot et 18/07/2023

Ensuite, nous allons construire la formule
- Nous commençons par saisir le nom de la fonction =SOMME.SI.ENS(
- Puis nous sélectionnons la colonne qui contient les données à additionner (ici la colonne Total)
- Ensuite, nous sélectionnons la colonne qui contient le premier critère, à savoir le nom des produits
- Enfin, nous sélectionne la cellule qui contient notre critère, I2 qui contient le mot Abricot
=SOMME.SI.ENS(F2:F17;B2:B17;I2) => 433

A ce stade, nous avons utilisé un seul critère et la fonction nous retourne le résultat pour toutes les ventes d'Abricot.
Mais nous, nous voulons en plus, rajouter la date du 18 Juillet 2023. Nous allons donc compléter la formule de la façon suivante :
- En 4e argument, nous sélectionnons la colonne qui contient toutes les dates (colonne C)
- Ensuite, nous sélectionne la cellule qui contient notre critère sur la date, la cellule I3
=SOMME.SI.ENS(F2:F17;B2:B17;I2;C2:C17;I3) => 203

Et nous obtenons exactement le même résultat qu'au début de l'article
Pour terminer, le classeur suivant reprend exactement la même formule. Changez les critères et 1 ou 2 et vous verrez que la fonction vous retournera immédiatement le bon résultat.
Classeur Excel pour vous exercer
Quantité à la place du Total
Si maintenant, pour les mêmes critères (Abricot et 18 Juillet), vous voulez connaître la quantité vendue, il vous suffit de changer le premier argument de la fonction
=SOMME.SI.ENS(D2:D17;B2:B17;I2;C2:C17;I3)

Articles liés à la fonction SOMME.SI.ENS
- La fonction NB.SI.ENS
- Exercice sur les fonctions NB.SI, SOMME.SI
- Exercices SOMME.SI et SOMME.SI.ENS
- Comment faire plus grand ou plus petit avec NB.SI ?
- Construire un critère partiel avec NB.SI.ENS
- Les fonctions MAX.SI.ENS et MIN.SI.ENS
Vous pouvez aussi faire d'autres exercices en ligne à partir de cette page
Vous trouverez des informations complémentaires sur la fonction SOMME.SI.ENS sur le site de Microsoft.
30/12/2022 @ 11:08
Merci pour votre réponse,
Le problème venait bien d'un problème de largeur : la fusion de deux colonnes à causé le problème de ###
Tout est bon merci beaucoup à vous
30/12/2022 @ 10:55
Bonjour, j'ai un problème urgent :
Lorsque je tape dans mon tableau la formule :
=NB.SI(Y8:Z29;"Opposition"), cela fonctionne bien
En revanche dès que je rajoute un second critère :
=NB.SI.ENS(Y8:Z29;"Opposition";X8:X29;"1")
Cela affiche =#####
quelle est la solution ?
J'ai le même problème lorsque je tape
=MOYENNE.SI.ENS(AB8:AB29;Y8:Z29;"Opposition") =####
Pour la suite de mes travaux
Enfin,
Lorsque je cherche à croiser "Opposition" et le type de Semaine (1,2,3 ou 4)
=NB.SI(Y8:Z29;"Opposition";X8:X29;"1") =###
Quelles sont mes solutions ?
Bonne journée à vous
30/12/2022 @ 11:00
Etrange comme erreur, car les #### sont soit un problème de largeur de colonne, soit des erreurs négatives. Pourquoi vous mettez le 1 entre guillemets ? Ca n'est pas nécessaire
17/12/2022 @ 15:15
Bonjour
L'utilisation de la formule =somme.si.ens( fonctionne, mais la modification d'une cellule conditionnel donne le résultat 0 !
Pas d'explication
10/05/2022 @ 05:25
Bonjour, j'ai un tableau avec des colonnes vendeurs, villes, ventes1 et ventes2, je souhaite faire la moyenne des 2 ventes pour une ville servant de critère mais également sur le critère que la moyenne des 2 ventes soit supérieure à un seuil. Est ce juste possible sans avoir à rajouter une colonne dans le tableau (important) qui bien évidemment simplifierait le schmilblick en rajoutant la colonne moyenne des 2 ventes. j'ai beau me torturer le cerveau avec moyenne.si.ens. Merci
14/04/2022 @ 14:51
Bonjour,
Je travaille sur un fichier dans lequel j'ai une colonne résultats de recherche v (jointure avec une autre table). En faisant un somme.si.ens avec cette colonne comme critère me retourne 0 comme résultat, plus précisément ne le prends pas en considération.
Merci pour votre apport ou suggestions.
04/11/2021 @ 10:35
Bonjour,
J'ai un fichier pour lequel j'utilise cette formule afin de calculer dans une feuille les effectifs de chaque mois en fonction de leur contrat, du sexe et de leur catégorie professionnelle.
Je souhaiterai pouvoir étirer ma formule pour tous les mois et que ça prenne automatiquement dans l'onglet correspondant.
Mes feuilles sont nommées par mois, ma formule est la suivante, exemple pour décembre :
=SOMME.SI.ENS(DECEMBRE!$U:$U;DECEMBRE!$M:$M;"CDI";DECEMBRE!$N:$N;"OUV";DECEMBRE!$L:$L;"Homme")
je voudrais que le mois s'étire automatiquement, c'est à dire pour :
la ligne janvier et la colonne ouvrier et sous colonne homme
Pourriez-vous m'aider ?
Merci d'avance,
20/10/2021 @ 11:14
Bonjour,
Dans un tableau de présence de mon équipe, je souhaiterais sommer , par jour et par développeur, le nb de jours de présence en TT (fixes et "flottants" + en présentiel).
J'ai une colonne 1 "liste des 15 collaborateurs DEV et non DEV qui est ma référence, avec un flag Dev (1)/non Dev (0).
Puis, jour par jour, je souhaite connaitre qui, parmi les Dev, est présent ... que ce soit en présentiel ou en TT (fixe ou flottant).
J'ai saisi cette formule :
=SOMME.SI.ENS($C$9:$C$23;E9:E23;$C$2;E9:E23;$C$3;E9:E23;"")
avec :
1) $C$9:$C$23 : ma colonne de référence "dev/non dev"
2) E9:E23 : colonne jour du mois
3) Mes critères à cumuler :
$C$2 : jour TT fixes
$C$3 : jour TT flottants
$C$4 : jour présentiel (à blanc)
Le résultat est incorrect ... où est l'erreur ?
Merci beaucoup pour ton précieux retour, en espérant avoir été clair dans la préz de mon pb 🙂
Pascal
12/05/2021 @ 07:28
Bonjour,
pouvez vous me dire si c'est possible de faire en sorte que Excel Calcule Uniquement si la Somme et plus Grand de 0 et pas si la somme et plus petit de 0.
Ex: j ai des cellules "B" C" D" "E" "F" ou je note des Nombre
Dans "H" "I" "J" K" je dit de me donner la differance entre la Cellules "A3 - A2, B3 - B2 etc...
Dans "L" je dit de faire L2*0,0550 et jusque la cava...
ou ca pose probleme c'est quand j ai la cellule A4 qui ne contient rien donc Excel me fais A4 - A3 donc le resultat et " - 0,55"
moi j'aimerais que le calcule se fasse uniquement quand une cellule contient un nombre au dela de 0 si ca contien -0,55 il ne doit pas le prendre en compte.
Merci d'avance a vous.
16/04/2021 @ 01:17
Bonjour,
Merci pour le support.
Est ce possible de demander a excel de compter le nombre de cellules ayant une valeur inferieure à 0 sachant que cette valeur doit provenir de la soustraction entre 2 cellules. J'ai plusieurs milliers de lignes et un reporting quotidien à faire.
Excel devra faire la soustraction elle meme et compter le nombre de cellules inferieures à 0. Je ne veux pas créer de colonnes de calcul avant de faire le decompte
Merci bien
16/04/2021 @ 08:37
C'est facile à faire avec la fonction NB.SI.ENS avec le symbole <0
04/09/2022 @ 10:36
Bonjour
merci à vous pour ce partage d'information, toujours enrichissants.
Comment s'écrit svp la syntaxe pour exclure la couleur "Rose" dans la formule suivante de votre exemple :
=SOMME.SI.ENS(G2:G61;D2:D61;"A";C2:C61;"Rose")
Merci à vous
Cordialement
04/09/2022 @ 13:45
=SOMME.SI.ENS(G2:G61;D2:D61;"A";C2:C61;"<>Rose")
11/04/2021 @ 14:50
Bonjour,
Je cherche à faire une somme si avec un critère référant à la propriété de la cellule et/ou du texte à l'intérieur. Autrement dit, que la somme se calcule dès que je mets la cellule en jaune et le texte en caractère gras. Est-ce que c'est possible?
11/04/2021 @ 14:52
Merci à l'avance, c'est très apprécié!
11/04/2021 @ 16:27
Non ! Pas de test possible sur les couleurs, police de caractères, .... juste sur le contenu de la cellule
12/04/2021 @ 01:16
Merci beaucoup pour la réponse rapide.
08/01/2021 @ 15:07
Bonjour,
je cherche un moyen de calculer automatiquement mes déplacements pro, pour des stats (et pour m'amuser un peu).
L'idée est de calculer le nombre de voyages en IDF et le nombre de voyages en province.
Colonne A : date
Colonne B : lieu
Colonne C : département (où je rentre le numéro)
Comment avoir une case où s'additionneraient automatiquement toutes les réponses IDF (75, 92, 93, etc) et une autre où s'additionneraient automatiquement toutes les réponses différentes ?
Un grand merci d'avance
20/10/2020 @ 14:43
Monsieur LEGUEN
je suis un fan de votre site, et de vos exploits.
je suis stagiaire dans une PME et je voudrais mettre en place une gestock compose de
une feuille inventaire
une feuille stock
une feuille entree
une feuille sortie
une feuille mouvement
le tout, sans macro, juste sur excel....
la difficulté que je rencontre ce trouve au niveau ou lorsque je saisi sur la feuille mouvement, je veux que que les calculs soient dynamique dans les autres feuilles.
merci beaucoup d avance monsieur
07/08/2020 @ 10:27
Comment puis-je demander à excel de calculer les CA de 2019 si 2020 est supérieur à 0
L'idée étant d'avoir un comparatif des deux années avec un CA arrété en juillet par exemple aout n'étant pas encore renseigné.
07/08/2020 @ 11:41
Si le besoin c'est de comparer 2 périodes, il faut utiliser les fonctions de Time Intelligence du language DAX. C'est un projet assez compliqué à mettre en place mais c'est le seul moyen de répondre exactement au besoin.
Maintenant, pour utiliser la fonction SOMME.SI.ENS pour les données supérieures à 0, il faut tout simplement écrire =SOMME.SI.ENS(Plage de recherche, ">0", Plage à additionner)
24/07/2019 @ 11:11
Bonjour
je souhaiterai additionner des plages qui ne se suivent pas forcément selon plusieurs critéres..
Pourriez-vous m'aider ?
Merci
16/07/2019 @ 13:30
SALUT. comment calculer des cellules avec une cellule avec texte. ex: 12+09+absent= ?
15/10/2020 @ 21:14
Comment mettre un critère <à une cellule . Cette valeur change évidemment le long de la colonne d'une cellule à une autre.
15/10/2020 @ 21:33
De la même façon que pour une fonction NB.SI.ENS comme c'est indiqué dans cet article
25/06/2019 @ 19:39
Bonsoir,
J'ai crée un fichier sur 3 années de réponses à des appels d'offres pharmaceutiques, avec Nom, quantité et prix (le reste des colonnes à peu d'intérêt dans ce qui me préoccupe 😉
J'ai des unités A à multiplier par un prix P, jusqu'à là rien de bien compliqué, mais j'ai 3 années avec parfois des prix parfois non.
J'aimerais que ma cellule de calcul, choisisse de multiplier les unités de préférence par le prix de l'année la plus récente et si celle-ci est vide, qu'elle calcule le CA avec la 2e année jusqu'à la 3e et là, j'ai essayé de multiples formules qui ne donnent rien, pourriez-vous m'éclairer?
Je vous remercie pour votre aide
Bonne soirée
Arrabelle
20/04/2019 @ 16:41
Bonsoir
quelqu'un peut-il m'aider svp ? j'en ai bien besoin urgent. merci beaucoup
Peut-on utiliser sommeprod() à la place de la plage à additionner (qui ne tient compte que d'une seule colonne) ? cela m'arrangerait beaucoup pour extraire du journal des entrées sorties, la valeur des entrées et ensuite celle des sorties
merci
chantal
19/04/2019 @ 21:14
bonsoir
Peut-on utiliser sommeprod() à la place de la plage à additionner ? cela m'arrangerait beaucoup pour extraire du journal des entrées sorties, la valeur des entrées et ensuite celle des sorties
merci
chantal
14/01/2019 @ 06:40
Bonjour, j'aurai besoin d'aide pour sélectionner des critères pour en faire des sommes. Je ne sais pas comment faire. Pourriez-vous m'aider?
13/12/2018 @ 18:33
Merci trop bien l'explication
18/03/2016 @ 17:06
Bonjour,
Pour les dates vous demandez à excel de chercher les dates supérieures à la dates de début et inférieures à la date de fin mais cela ne risque pas d’additionné toutes les dates supérieures au début c'est à dire même celles supérieures à la date de fin et toutes les dates inférieures à la date de fin c'est à dire même celles antérieures à la date de début. ou la fonction fait en sorte que toutes les conditions soit réunies sinon elle n'effectue pas l’addition?
28/11/2015 @ 09:47
vraiment top. merci !
25/11/2015 @ 10:57
Bonjour. j'utilise pour ma part depuis longtemps la fonction "sommeprod()" et j'ai du mal à voir la différence de comportement entre ces deux fonctions. Pourriez-vous m'éclairer ?
Merci de votre aide.
23/09/2015 @ 12:26
Bonjour, Le tuto est bon toute fois une petite question: est-il possible de nommer les plages?
=somme.si.ens(chemin_repertoire\Nom_fichier'!nom_feuille(mon_calcul);(chemin_repertoire\Nom_fichier'!nom_feuille(ma_plage1)critère1;(chemin_repertoire\Nom_fichier'!nom_feuille(ma_plage2)critère2
Merci de votre reponce
23/09/2015 @ 13:23
Bonjour,
C'est possible mais il faut que le classeur qui contiennent les données soit ouvert ; c'est impératif.
28/07/2015 @ 08:44
c'est mieux si les entetes sont dans les exemples colonnes et lignes
09/07/2015 @ 00:23
dans la formule Somme.si.ens est-ce possible d’insérer un critère avec une comparaison d’une valeur qui se retrouve sur une autre feuille. Voici un exemple :
La formule Somme.si.ens est dans une cellule de la Feuille1, mais une valeur de comparaison pour un critère se retrouve dans la Feuille2.
=SOMME.SI.ENS(B1:B5;C1:C5;"=LABELLE";D1:D5;"=Feuil2!A1")
02/06/2015 @ 06:45
Bonjour
Merci pour ce tutoriel. De mon côté j'aimerai savoir si il est possible d'utiliser à deux reprises la même plage de critère. Je vous montre mon cas: voici ma base
A B C D E
Groupe Spécial Coût unitaire Quantité Coût total
Fruits En spécial $0,50 502 $251,00
Poisson En spécial $0,70 426 $298,20
Fruits Prix réguliers $2,50 583 $1 457,50
Poissons En spécial $2,00 254 $508,00
Légumes Prix réguliers $1,40 532 $744,80
Fruits Prix réguliers $1,90 628 $1 193,20
Légumes En spécial $1,20 502 $602,40
Légumes Prix réguliers $2,30 498 $1 145,40
Fruits En spécial $1,00 504 $504,00
Légumes En spécial $1,40 555 $777,00
Légumes Prix réguliers $1,70 467 $793,90
Poisson En spécial $2,80 611 $1 710,80
Fruits Prix réguliers $3,20 289 $924,80
Légumes En spécial $2,00 420 $840,00
J'aimerai donc savoir le coût total pour les fruit et de légumes dans la même cellule sachant que mes deux critères se trouve dans la colonne A.
Quelqu'un aurait-il une solution adéquate ,la j'ai donné un exemple , mais dans mon cas réel en entreprise ( contrôle de gestion) il s'agit d'un fichier avec plus de 3000
22/10/2015 @ 09:52
Bonjour Jessy, avez vous trouvé une solution pour utiliser la même plage de cellules avec plusieurs critères ? car moi aussi je souhaite faire somme.si.ens avec un critère dans une plage A et plusieurs critères dans une plage B.
Merci de votre réponse
14/05/2017 @ 18:49
Vous pourriez utiliser un controle qui se met à vrai ou faux selon vos critères et utiliser ce dernier dans votre somme.si.ens.
22/07/2013 @ 22:43
cool
10/03/2015 @ 16:47
merci de ton intervention mimmimimimimi