SOMME, SOUS.TOTAL ou AGREGAT : quelle formule pour sommer ?

SOMME additionne tout, SOUS.TOTAL respecte les filtres, AGREGAT ignore à la fois les filtres, les lignes masquées et les erreurs. Comprendre ces différences évite des totaux incorrects dans les tableaux filtrés.

Vue d'ensemble

SOMME

Additionne tout, toujours

Indépendant des filtres et des lignes masquées

=SOMME(C2:C100)

La plus simple et la plus rapide. Toutes versions.

SOUS.TOTAL

Respecte le filtre automatique

N'additionne que les lignes visibles après filtrage

=SOUS.TOTAL(9;C2:C100)

9 = SOMME. Ignore les filtres, pas les masquages manuels. Toutes versions.

AGREGAT

Respecte filtres + lignes masquées + erreurs

Le plus flexible des trois

=AGREGAT(9;5;C2:C100)

9 = SOMME, 5 = ignorer lignes masquées. Excel 2010+.

SOMME — la référence universelle

SOMME additionne toutes les cellules de la plage, qu'elles soient visibles ou masquées, filtrées ou non. C'est le choix par défaut quand vous ne travaillez pas avec des tableaux filtrés.

=SOMME(C2:C100)
=SOMME(C2:C100;E2:E100;G5)
=SOMME(C:C)               ← colonne entière (attention aux en-têtes)

SOUS.TOTAL — le complice des filtres

SOUS.TOTAL prend deux arguments : un numéro de fonction (1 à 11 ou 101 à 111) et la plage. Quand un filtre automatique est actif, il ne calcule que sur les lignes visibles.

=SOUS.TOTAL(9;C2:C100)    ← 9 = SOMME, respecte le filtre automatique
=SOUS.TOTAL(1;C2:C100)    ← 1 = MOYENNE sur les lignes filtrées
=SOUS.TOTAL(2;C2:C100)    ← 2 = NB (compte les nombres visibles)
=SOUS.TOTAL(103;C2:C100)  ← 103 = NBVAL, ignore aussi les masquages manuels

Les numéros de fonction SOUS.TOTAL / AGREGAT

FonctionN° (ignorer masqués)
1MOYENNE101
2NB102
3NBVAL103
4MAX104
5MIN105
6PRODUIT106
7ECARTYPE107
8ECARTYPEP108
9SOMME109
10VAR110
11VAR.P111
Les numéros 1–11 ignorent les cellules masquées par un filtre automatique mais incluent les lignes masquées manuellement (clic droit → Masquer). Les numéros 101–111 ignorent toutes les lignes masquées (filtre + masquage manuel).

AGREGAT — quand SOUS.TOTAL ne suffit pas

AGREGAT (Excel 2010+) offre deux avantages supplémentaires : il gère les lignes masquées manuellement ET peut ignorer les cellules contenant des erreurs.

Syntaxe : =AGREGAT(no_fonction; options; plage; [k])

Options :
  0 = ignorer les SOUS.TOTAL et AGREGAT imbriqués
  1 = ignorer les lignes masquées et les SOUS.TOTAL/AGREGAT imbriqués
  2 = ignorer les valeurs d'erreur et les SOUS.TOTAL/AGREGAT imbriqués
  3 = ignorer les lignes masquées et les erreurs
  4 = ignorer rien
  5 = ignorer les lignes masquées
  6 = ignorer les erreurs
  7 = ignorer les lignes masquées et les erreurs

=AGREGAT(9;5;C2:C100)    ← SOMME en ignorant les lignes masquées
=AGREGAT(9;7;C2:C100)    ← SOMME en ignorant lignes masquées ET erreurs
=AGREGAT(14;6;C2:C100;1) ← 14=GRANDE.VALEUR, 1=1ère valeur, ignorer erreurs
AGREGAT ne fonctionne pas sur des plages en 3D (plusieurs feuilles). Pour ce cas, utilisez SOMME(Feuil1:Feuil3!C2:C100).

Même tableau, trois comportements différents

Vous avez 100 lignes de ventes. Vous filtrez sur "Paris" (20 lignes visibles). La colonne C contient une erreur #DIV/0! sur la ligne 5.

FormuleRésultat avec filtre actifComportement face à l'erreur
=SOMME(C2:C100)Somme des 100 lignesRenvoie #DIV/0!
=SOUS.TOTAL(9;C2:C100)Somme des 20 lignes visiblesRenvoie #DIV/0!
=AGREGAT(9;7;C2:C100)Somme des 20 lignes visiblesIgnore l'erreur, somme le reste

AGREGAT pour les fonctions indisponibles dans SOUS.TOTAL

AGREGAT supporte 19 fonctions contre 11 pour SOUS.TOTAL, dont des fonctions absentes du mode filtré :

=AGREGAT(14;5;C2:C100;1)   ← GRANDE.VALEUR : 1ère plus grande valeur visible
=AGREGAT(15;5;C2:C100;1)   ← PETITE.VALEUR : 1ère plus petite valeur visible
=AGREGAT(17;5;C2:C100;0,5) ← QUARTILE.EXCLURE à 50% sur lignes visibles
=AGREGAT(18;5;C2:C100;3)   ← QUARTILE.INCLURE 3e quartile sur lignes visibles

Tableau de décision

BesoinFormule
Somme simple, pas de filtre=SOMME(...)
Total qui suit le filtre automatique=SOUS.TOTAL(9;...)
Total qui ignore aussi les lignes masquées manuellement=SOUS.TOTAL(109;...)
Total filtré avec des erreurs dans la plage=AGREGAT(9;7;...)
GRANDE.VALEUR ou PERCENTILE sur plage filtrée=AGREGAT(14;5;...;rang)
Excel 2007 ou antérieur, données filtrées=SOUS.TOTAL(9;...) (AGREGAT non disponible)

Astuce : Excel insère SOUS.TOTAL automatiquement

Quand vous convertissez une plage en tableau structuré (Ctrl+T) et activez la ligne de total (Création → Ligne des totaux), Excel insère automatiquement =SOUS.TOTAL(109;...) — pas SOMME. C'est le comportement attendu pour que le total s'adapte aux filtres.

Ignorer les erreurs dans une somme → SOMME.SI vs SOMME.SI.ENS Fiche AGREGAT