Fonction SOMME.SI.ENS

Temps de lecture : 3 minutes

La fonction SOMME.SI.ENS vous permet d'additionner certaines cellules en fonction de critères choisis.

C'est un peu comme si vous aviez à faire des filtres sur plusieurs colonnes puis additionner les valeurs d'une colonne particulière ; mais là, c'est une formule qui fait le travail

La fonction SOMME.SI.ENS

Pour rappel, la fonction NB.SI.ENS calcule le nombre de lignes correspondant à des critères.

=NB.SI.ENS(Plage de critères 1;Critère 1;Plage de critères 2;Critère 2;...)

La fonction SOMME.SI.ENS se construit exactement comme la fonction NB.SI.ENS.

Vous avez juste à ajouter en premier paramètre la colonne où sont les valeurs à additionner. Tous les autres paramètres sont identiques à ceux d'une fonction NB.SI.ENS

  1. La plage à additionner
  2. La plage de sélection 1
  3. Le critère 1
  4. La plage de sélection 2 (si nécessaire)
  5. Le critère 2 (si nécessaire)
  6. ...

=SOMME.SI.ENS(Plage à additionner;Plage de sélection 1;Critère 1;Plage de sélection 2;Critère 2;...)

Quelle est la quantité en stock en fin de mois ?

Nous souhaitons déterminer la quantité de rouge à lèvres en stock à la fin du mois.

1. Nous allons commencer par construire une fonction NB.SI.ENS qui va comptabiliser le nombre de lignes qui contiennent le mot rouge à lèvres (c'est très simple).

=NB.SI.ENS(B2:B21;"Rouge à lèvres")

Utilisation de la fonction NB.SI.ENS pour gérer ses stocks

2. Nous allons maintenant remplacer le terme NB par SOMME et nous rajoutons la colonne que nous voulons additionner en première position.

=SOMME.SI.ENS(G2:G21;B2:B21;"Rouge à lèvres")

Exemple de résultat retourné par la fonction SOMME.SI.ENS

Le stock fin de mois des rouges à lèvres est de 80 unités.

Combien de ventes réalisées dans le mois ?

Maintenant, si vous voulez connaître le nombre de rouge à lèvres que vous avez vendu dans le mois, il vous suffit de changer les références du premier paramètre et de conserver les critères de votre formule.

=SOMME.SI.ENS(F2:F21;B2:B21;"Vernis à ongle")

Comme vous le voyez il est extrêmement simple de retourner une somme sur seulement certaines cellules de votre feuille de calcul

Rajouter de nouveaux critères

Le gros avantage de la fonction SOMME.SI.ENS c'est que vous pouvez rajouter autant de critères les uns derrières les autres sans casser votre fonction.

Nous cherchons à connaitre le nombre de ventes de produits de couleur Rose pour le fournisseur A.

=SOMME.SI.ENS(G2:G61;D2:D61;"A";C2:C61;"Rose")

La fonction SOMME.SI.ENS retourne le résultat d'une addition d'après les critères de 3 colonnes différentes

Vous trouverez des informations complémentaires sur la fonction SOMME.SI.ENS sur le site de Microsoft.

Exercices

Vous trouverez dans le lien suivant, une série de quizz et d'exemples pour apprendre à utiliser correctement les fonctions SOMME.SI et SOMME.SI.ENS

Exercice

Vidéo explicative

42 Comments

  1. Charles
    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

    Reply

  2. MOREL
    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

    Reply

    • Frédéric LE GUEN
      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

      Reply

  3. De Mets
    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

    Reply

  4. Philippe
    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

    Reply

  5. bouamara
    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.

    Reply

  6. Tchop
    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,

    Reply

  7. SENHADJI
    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

    Reply

  8. Giu
    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.

    Reply

  9. DIDIER
    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

    Reply

    • Frédéric LE GUEN
      16/04/2021 @ 08:37

      C'est facile à faire avec la fonction NB.SI.ENS avec le symbole <0

      Reply

      • AMBIEHL Bertrand
        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

      • Frédéric LE GUEN
        04/09/2022 @ 13:45

        =SOMME.SI.ENS(G2:G61;D2:D61;"A";C2:C61;"<>Rose")

  10. Annie
    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?

    Reply

    • Annie
      11/04/2021 @ 14:52

      Merci à l'avance, c'est très apprécié!

      Reply

    • Frédéric LE GUEN
      11/04/2021 @ 16:27

      Non ! Pas de test possible sur les couleurs, police de caractères, .... juste sur le contenu de la cellule

      Reply

      • Annie
        12/04/2021 @ 01:16

        Merci beaucoup pour la réponse rapide.

  11. Ben
    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

    Reply

  12. nguema
    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

    Reply

  13. zaz
    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é.

    Reply

    • Frédéric LE GUEN
      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)

      Reply

  14. KRIM Ali
    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

    Reply

  15. ali
    16/07/2019 @ 13:30

    SALUT. comment calculer des cellules avec une cellule avec texte. ex: 12+09+absent= ?

    Reply

    • NEBIL JBALI
      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.

      Reply

      • Frédéric LE GUEN
        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

  16. Arrabelle Chevallier-Sollier
    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

    Reply

  17. chantal
    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

    Reply

  18. 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

    Reply

  19. Chantal Caron
    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?

    Reply

  20. gigi
    13/12/2018 @ 18:33

    Merci trop bien l'explication

    Reply

  21. Michael Ipert
    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?

    Reply

  22. Anonyme
    28/11/2015 @ 09:47

    vraiment top. merci !

    Reply

  23. Anonyme
    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.

    Reply

  24. Cacaille76
    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

    Reply

    • Frédéric LE GUEN
      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.

      Reply

  25. danbo52danbo
    28/07/2015 @ 08:44

    c'est mieux si les entetes sont dans les exemples colonnes et lignes

    Reply

  26. Alain Roussel
    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")

    Reply

  27. Jessy
    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

    Reply

    • Laurie
      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

      Reply

    • Chico
      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.

      Reply

  28. Anonyme
    22/07/2013 @ 22:43

    cool

    Reply

    • Anonyme
      10/03/2015 @ 16:47

      merci de ton intervention mimmimimimimi

      Reply

Leave a Reply

Your email address will not be published. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

RECHERCHE D’EMPLOI AVEC