🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction SUMIFS dans Excel — Une seule formule pour les totaux conditionnels (et pourquoi SUMIF est un piège)

|

Fonction SUMIFS dans Excel — Une seule formule pour les totaux conditionnels (et pourquoi SUMIF est un piège)

L'essentielSUMIFS additionne une colonne, mais seulement les lignes qui passent toutes les conditions que vous lui donnez. Syntaxe : =SUMIFS(plage_somme; plage_critères1; critère1; …). Le plus gros écueil : SUMIF et SUMIFS rangent leurs arguments dans l'ordre inverseSUMIF teste d'abord et somme en dernier ; SUMIFS somme d'abord. Copiez une formule de l'une vers l'autre et vous totalisez silencieusement la mauvaise colonne. Le remède est une habitude : utilisez SUMIFS partout, même pour une seule condition. Pour comparer à une cellule, concaténez l'opérateur — ">"&G1, jamais ">G1". Plusieurs critères sont reliés par un ET ; pour le OU, passez une matrice et enveloppez dans SUM. Fonctionne dans Excel 2007+.

=SUMIFS(Amount, Region, "West")
=SUMIFS(Amount, Region, "West", Amount, ">"&G1)

Presque chaque « somme avec une condition » que vous écrirez pose en réalité la même question : parmi toutes ces lignes, totalise celles qui correspondent. Excel vous donne deux fonctions pour ça, et la plus ancienne — SUMIF — est un piège qui prive les gens du bon résultat depuis quinze ans. Ce guide s'articule autour d'une recommandation forte, puis des règles de critères qui font vraiment fonctionner les totaux conditionnels.

Remarque : dans une interface Excel en français, la fonction s'appelle SOMME.SI.ENS. Équivalents : SUMIF = SOMME.SI, SUM = SOMME, UNIQUE = UNIQUE, FILTER = FILTRE, DATE = DATE, TODAY = AUJOURDHUI. Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.

Ce que vous allez apprendre

  • Le modèle mental : SUMIFS est une clause WHERE qui se termine par un total
  • Pourquoi SUMIF et SUMIFS inversent leurs arguments — et pourquoi abandonner SUMIF
  • Le mini-langage des critères : les opérateurs vivent entre guillemets, ">"&cellule compare à une cellule
  • Le ET est intégré ; le OU réclame une matrice et un SUM autour
  • Comment additionner entre deux dates sans casser selon la langue d'Excel
  • Le réflexe moderne : déverser un récapitulatif par catégorie avec SUMIFS + UNIQUE

Le modèle mental : une clause WHERE qui se termine par un total

Si vous pensez en SQL, SUMIFS est SELECT SUM(amount) … WHERE region = 'West' AND amount > 1000. Vous nommez la colonne à totaliser, puis vous empilez les tests ; Excel garde les lignes où tous les tests passent et additionne leurs valeurs. Tout ce qui déroute les gens dans SUMIFS s'évapore une fois cette image en tête : le premier argument est ce que vous additionnez, et chaque paire qui suit est un filtre.

' "Totalise la colonne Amount, pour les lignes où Region vaut West"
=SUMIFS(Amount, Region, "West")

' Ajoutez un deuxième filtre — désormais les deux doivent être vrais (ET)
=SUMIFS(Amount, Region, "West", Product, "Widgets")

Chaque plage_critères doit avoir la même hauteur que plage_somme — ce sont des colonnes parallèles du même tableau. Décalez les formes et vous obtenez #VALUE!.

La règle qui vous sauve : arrêtez d'utiliser SUMIF

Voici le piège, et il vaut plus que tout autre conseil de cette page. Les deux fonctions rangent leurs arguments à l'envers l'une de l'autre :

' SUMIF — la plage que vous TESTEZ vient d'abord, la plage que vous SOMMEZ est en dernier (facultatif)
=SUMIF(Region, "West", Amount)

' SUMIFS — la plage que vous SOMMEZ vient EN PREMIER, puis les paires de test
=SUMIFS(Amount, Region, "West")

Relisez ça deux fois. Dans SUMIF, Amount est le troisième argument ; dans SUMIFS, c'est le premier. Les gens apprennent SUMIF, puis ont besoin d'une deuxième condition, passent à SUMIFS, et collent les plages dans l'ancien ordre — alors Excel somme Region (du texte, donc un total qui tombe sur un nombre absurde ou zéro) et traite Amount comme une plage de critères. Aucune erreur. Juste un mauvais total qui paraît plausible.

Le verdict est sans détour : oubliez que SUMIF existe. SUMIFS fait tout ce que fait SUMIF, l'ordre des arguments ne change jamais que vous ayez une condition ou dix, et vous ne vous ferez jamais piéger par l'inversion. La seule chose que SUMIF « économise », c'est une virgule à taper. Ce n'est pas une raison de risquer une erreur silencieuse dans un modèle financier.

Le mini-langage des critères : les opérateurs vivent entre guillemets

L'argument étiqueté critère est un minuscule langage de chaînes, et il fait trébucher tout le monde la première fois qu'on veut comparer à une cellule plutôt qu'à une valeur fixe. Trois règles couvrent presque tout :

=SUMIFS(Amount, Amount, ">1000")        ' seuil littéral — très bien en texte simple
=SUMIFS(Amount, Amount, ">"&G1)          ' comparer à une CELLULE — concaténez l'opérateur
=SUMIFS(Amount, Region, "West*")         ' joker — toute région commençant par "West"

L'erreur fatale, c'est ">G1". Ça ne signifie pas « supérieur à la valeur de G1 » — ça cherche les lignes littéralement égales au texte "G1", n'en trouve aucune, et renvoie 0. L'opérateur (>, <, >=, <>) doit se tenir à l'intérieur des guillemets, et toute référence de cellule doit rester à l'extérieur, reliée par &. Une fois ce déclic fait, ">="&TODAY(), "<>"&G1 et "*"&G1&"*" se lisent tout naturellement. La correspondance de texte ne tient pas compte de la casse, et * (n'importe quels caractères) / ? (un caractère) sont vos jokers — pour un astérisque littéral, échappez-le avec ~*.

Le ET est gratuit ; le OU, il faut le construire

Empiler des paires de critères vous donne le ET — chaque test doit passer. Il n'y a pas d'argument « OU ». La façon propre de totaliser les lignes qui correspondent à l'une ou l'autre de plusieurs valeurs, c'est une matrice de critères enveloppée dans SUM, parce que SUMIFS avec une matrice de critères renvoie un total par valeur, et SUM les additionne :

' ET — intégré : West ET Widgets
=SUMIFS(Amount, Region, "West", Product, "Widgets")

' OU — matrice de critères + SUM : West OU East
=SUM(SUMIFS(Amount, Region, {"West","East"}))

Ça compte parce que la solution naïve — ajouter deux SUMIFS séparés — convient pour deux valeurs mais ne tient pas à l'échelle, et elle compte deux fois en silence si vos conditions OU peuvent être vraies en même temps sur une même ligne. Le motif SUM(SUMIFS(…{…}…)) gère une liste de n'importe quelle longueur et devient l'idiome standard une fois qu'on l'a vu.

Additionner entre deux dates (la méthode insensible à la langue)

Une plage de dates n'est que deux critères sur la même colonne de dates — une borne basse et une borne haute. Ne tapez jamais la date en texte (">01/06/2026" se lit différemment aux États-Unis et en Europe et risque de ne rien correspondre du tout). Construisez la date avec DATE pour qu'elle soit sans ambiguïté partout :

=SUMIFS(Amount, OrderDate, ">="&DATE(2026,1,1), OrderDate, "<="&DATE(2026,3,31))

Même colonne, deux tests, un ET entre eux — voilà le total d'un trimestre. Remplacez les littéraux par des références de cellule (">="&H1) et vous obtenez un rapport vivant et paramétrable.

Le réflexe moderne : déverser tout un tableau récapitulatif

C'est ici que les totaux conditionnels rencontrent les matrices dynamiques. Donnez UNIQUE comme critère, et un seul SUMIFS déverse un total pour chaque catégorie d'un coup — pas de recopie, pas de liste intermédiaire :

=SUMIFS(Amount, Region, UNIQUE(Region))    ' un total par région distincte, déversé

Mettez =UNIQUE(Region) dans une cellule et le SUMIFS à côté, et vous avez bâti un récapitulatif qui s'entretient seul et grandit à mesure que de nouvelles régions apparaissent. Pour des extractions réellement complexes, vous pourriez recourir à FILTER et additionner le résultat — mais pour « total par catégorie », SUMIFS sur un déversement UNIQUE est l'outil le plus léger qui soit, et bien plus rapide sur de grandes feuilles qu'une matrice de SUMPRODUCT.

Le jugement : SUMIFS vs SUMPRODUCT vs un tableau croisé dynamique

Si vous écrivez encore SUMPRODUCT((Region="West")*(Amount)) pour des conditions sur plusieurs colonnes, ce motif est antérieur à SUMIFS — il est plus lent et plus difficile à lire, et la seule raison de le garder, c'est quand vous devez multiplier deux colonnes et filtrer (un total pondéré). Si vous reconstruisez le même récapitulatif à la main chaque mois, un tableau croisé dynamique est le meilleur foyer pour une exploration libre. SUMIFS l'emporte quand vous voulez un nombre précis, vivant, intégré dans un modèle — c'est-à-dire la plupart du temps.

Comment ExcelMaster aide

La plupart du vrai travail avec SUMIFS se formule en termes métier, pas en termes de formule : le chiffre d'affaires total de la région Ouest au T1, au-dessus du seuil d'approbation en cellule G1. ExcelMaster transforme cette phrase en formule — bon ordre des arguments, concaténation ">"&G1, bornes basées sur DATE() — et la dépose là où vous voulez. Vous décrivez le nombre dont vous avez besoin ; il gère la grammaire des critères qui rend SUMIFS capricieux à taper à la main.

Questions fréquentes

Pourquoi mon SUMIF renvoie-t-il le mauvais total (ou zéro) ?

Presque toujours l'ordre des arguments. SUMIF(plage; critère; plage_somme) teste d'abord et somme en dernier ; SUMIFS(plage_somme; plage; critère) somme en premier. Si vous avez déplacé une formule de l'une à l'autre sans réordonner, Excel additionne la mauvaise colonne. Passez tout à SUMIFS et l'ordre commence toujours par la plage à sommer.

Comment utiliser SUMIFS avec plusieurs critères ?

Ajoutez d'autres paires plage_critères; critère — elles sont reliées par un ET, donc chaque test doit passer : =SUMIFS(Amount, Region, "West", Product, "Widgets"). Chaque plage de critères doit avoir la même hauteur que la plage de somme.

Comment faire une condition OU avec SUMIFS ?

Passez les alternatives sous forme de matrice et enveloppez dans SUM : =SUM(SUMIFS(Amount, Region, {"West","East"})). Cela évite le double comptage que vous obtiendriez en additionnant simplement deux formules SUMIFS séparées.

Comment additionner entre deux dates ?

Utilisez deux critères sur la colonne de dates avec DATE() pour rester insensible à la langue : =SUMIFS(Amount, OrderDate, ">="&DATE(2026,1,1), OrderDate, "<="&DATE(2026,3,31)).

SUMIFS fonctionne-t-il dans Excel 2016 ou plus ancien ?

Oui. SUMIFS est livré depuis Excel 2007, et SUMIF depuis les années 1990. Les deux fonctionnent dans toutes les versions prises en charge — il n'y a donc aucune raison de compatibilité de continuer à utiliser le plus ancien SUMIF, sujet aux pièges.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 24/06/2026.

Guides connexes : Excel COUNTIFS · Excel AVERAGEIFS · Excel FILTER · Excel UNIQUE