L'essentiel —
GROUPBY(champs_lignes; valeurs; fonction)prend une colonne à grouper, une colonne de nombres et une agrégation, puis déverse un tableau récapitulatif fini :=GROUPBY(C2:C1000; D2:D1000; SUM)renvoie chaque région avec son total. La seule règle qui piège tout le monde : passez la fonction par son nom —SUM, pasSUM()— car le troisième argument est une fonction, pas une valeur. Contrairement à un tableau croisé dynamique, elle se recalcule à l'instant où vos données changent, sans Actualiser. C'est le remplaçant en une formule du duo UNIQUE
- SUMIFS. Exige Excel 365 (déployée en 2024–2025) ; absente de 2021 et des versions antérieures.
=GROUPBY(C2:C1000; D2:D1000; SUM) ' chaque région, avec son total de ventes
=GROUPBY(C2:C1000; D2:D1000; AVERAGE) ' changez d'agrégation — rien que le nom
=GROUPBY(C2:C1000; D2:D1000; COUNT) ' combien de lignes par région
=GROUPBY(B2:C1000; D2:D1000; SUM) ' deux colonnes de groupement -> une hiérarchie
=GROUPBY(C2:C1000; D2:D1000; SUM; 0; 0; -2) ' aucun total, trié par le total, décroissant
Pendant trente ans, synthétiser des données dans Excel imposait de laisser vos formules de
côté. Soit vous construisiez un tableau croisé dynamique — un objet manuel qui se périme
dès que les données changent et réclame un clic droit Actualiser —, soit vous assembliez un
récapitulatif à la main avec UNIQUE pour lister les catégories
et SUMIFS pour totaliser chacune. GROUPBY (2024) met fin à
ces deux corvées. Vous cessez de construire un récapitulatif pour en décrire un : nommez
le champ à grouper, les valeurs à agréger et la manière — et Excel déverse le rapport vivant.
Ce que vous allez apprendre
- Le modèle mental : vous décrivez un rapport, Excel le déverse
- Les trois arguments obligatoires — et le piège du troisième
- Pourquoi vous passez
SUM, pasSUM()(l'erreur numéro un) - Grouper par deux colonnes ou plus, et totaliser plusieurs valeurs
- Ajouter totaux généraux et sous-totaux avec
profondeur_totaux - Trier par la valeur agrégée sans l'envelopper dans SORT
- Pourquoi elle surpasse UNIQUE + SUMIFS et, souvent, le tableau croisé dynamique
Le modèle mental : décrire le rapport, pas le construire
Un tableau croisé dynamique est une chose que vous construisez — vous glissez des champs
dans des cases, et il produit un bloc de cellules déconnecté de vos formules et figé jusqu'à
ce que vous l'actualisiez. GROUPBY est une formule qui produit le même bloc mais le garde
vivant. Le glissement va du nom au verbe : au lieu de bâtir un objet récapitulatif, vous
écrivez une phrase qui dit « groupe ceux-ci, totalise ceux-là ».
=GROUPBY(C2:C1000; D2:D1000; SUM)
' └ grouper par └ additionner └ comment
Lisez de gauche à droite : grouper par la colonne Région, additionner la colonne
Ventes, en utilisant SUM. Le résultat se déverse — une ligne par région distincte,
chacune avec son total, plus un total général — et chacun de ces nombres se met à jour à
l'instant où une valeur de D2:D1000 change. Pas d'Actualiser, pas de cache de tableau croisé
périmé. Ce recalcul en direct est la raison même de choisir GROUPBY plutôt qu'un tableau
croisé dynamique quand le récapitulatif alimente un tableau de bord.
Les trois arguments obligatoires
Tout le reste est facultatif. Un GROUPBY qui fonctionne réclame exactement trois choses :
=GROUPBY( champs_lignes ; valeurs ; fonction )
' quoi quoi comment
' grouper agréger agréger
champs_lignes— la colonne (ou les colonnes) dont les valeurs distinctes deviennent les lignes de votre récapitulatif :C2:C1000, la colonne Région.valeurs— la colonne de données à traiter :D2:D1000, les ventes.fonction— comment la traiter :SUM,AVERAGE,COUNT,MAX,MIN, et bien d'autres.
Donnez-lui ces trois-là et vous obtenez un tableau trié, dédoublonné et totalisé. Mais c'est sur ce troisième argument que presque tout le monde trébuche la première fois.
Le piège numéro un : passez SUM, pas SUM()
L'argument fonction n'est pas une valeur — c'est une fonction en elle-même, transmise
par son nom pour que GROUPBY puisse l'appliquer à chaque groupe à votre place. Vous passez
l'outil, pas le résultat de son utilisation.
=GROUPBY(C2:C1000; D2:D1000; SUM) ' CORRECT — le nom de la fonction
=GROUPBY(C2:C1000; D2:D1000; SUM()) ' FAUX — #CALC!/erreur, vous l'avez appelée sans données
=GROUPBY(C2:C1000; D2:D1000; SUM(D:D)) ' FAUX — ça, c'est un seul nombre, pas une fonction
Voyez SUM ici comme une recette que vous tendez à quelqu'un, pas comme un gâteau terminé.
GROUPBY prend la recette SUM et l'exécute une fois par région, en coulisses. Écrire
SUM() ou SUM(D2:D1000) réduit tout à une seule valeur avant même que GROUPBY ne voie les
groupes, ce qui est précisément ce que vous ne voulez pas. La règle : le troisième argument
est toujours un nom de fonction nu — SUM, AVERAGE, COUNT, PERCENTOF — jamais une
fonction appelée.
Grouper par plusieurs colonnes
Pointez champs_lignes sur deux colonnes adjacentes et GROUPBY bâtit une hiérarchie — la
première colonne est le groupe externe, la seconde s'imbrique à l'intérieur :
=GROUPBY(B2:C1000; D2:D1000; SUM) ' Région, puis Produit dans chaque région, chacun sous-totalisé
Vous obtenez Région au niveau supérieur et, en retrait sous chacune, ses Produits — la même forme qu'un tableau croisé dynamique vous donne à partir de deux champs de lignes, mais sous la forme d'une formule vivante. Les colonnes doivent être adjacentes (ou empilées avec HSTACK) ; elles se lisent de gauche à droite, du groupe le plus externe au plus interne.
Totaliser plusieurs valeurs à la fois
Élargissez valeurs à plusieurs colonnes et chacune est agrégée côte à côte :
=GROUPBY(C2:C1000; D2:E1000; SUM) ' pour chaque région, total des Ventes ET total des Unités
Désormais chaque ligne de région affiche deux totaux — Ventes et Unités — dans des colonnes
adjacentes. C'est le cas de reporting quotidien (chiffre d'affaires, coût, unités, marge, le
tout par région) qui imposait autrefois un SUMIFS par métrique et par catégorie ; ici, c'est
une seule formule qui grandit à mesure que vous élargissez la plage valeurs.
Ajouter totaux et sous-totaux avec profondeur_totaux
Le cinquième argument, profondeur_totaux, contrôle les lignes de total. Omettez-le et Excel
se débrouille seul — un total général, plus des sous-totaux là où le groupement le permet.
Vous pouvez aussi le fixer :
=GROUPBY(C2:C1000; D2:D1000; SUM; ; 0) ' 0 = aucun total
=GROUPBY(C2:C1000; D2:D1000; SUM; ; 1) ' 1 = total général uniquement
=GROUPBY(B2:C1000; D2:D1000; SUM; ; 2) ' 2 = total général + sous-total par groupe externe
=GROUPBY(C2:C1000; D2:D1000; SUM; ; -1) ' négatif = totaux en HAUT au lieu du bas
Les deux points-virgules sautent en_têtes_champs (le quatrième argument) pour atteindre
profondeur_totaux. Une valeur négative est la petite astuce utile que la plupart des gens
manquent : elle place les totaux au-dessus du détail (-1 total général seul, -2 avec
les sous-totaux), ce que vous voulez quand le récapitulatif se trouve en haut d'un tableau de
bord et que vous ne voulez pas voir le total général filer tout en bas.
Trier par la valeur agrégée — sans SORT
L'instinct est de tout envelopper dans SORT pour classer les
groupes par taille. Inutile — ordre_tri est intégré, et il trie par les colonnes de
résultat, pas seulement par l'étiquette de groupe :
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; 2) ' tri croissant par la colonne 2 (le total)
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; -2) ' tri DÉCROISSANT par le total — plus grande région d'abord
ordre_tri est un numéro de colonne : 1 est la colonne de groupe, 2 la première
colonne agrégée, et un nombre négatif trie cette colonne en décroissant. Ainsi -2 vous
donne le classique classement « du plus grand au plus petit » en un seul argument. Envelopper
un GROUPBY dans SORT signifie presque toujours que vous avez oublié l'existence de cet
argument.
Pourquoi elle remplace UNIQUE + SUMIFS
Avant GROUPBY, un récapitulatif à base de formules prenait deux étapes : lister les
catégories distinctes, puis totaliser chacune.
' L'ancien motif en deux étapes :
=UNIQUE(C2:C1000) ' étape 1 : obtenir la liste des régions (se déverse vers le bas)
=SUMIFS(D:D; C:C; F2#) ' étape 2 : un SUMIFS par région, à côté
' Le remplacement par GROUPBY :
=GROUPBY(C2:C1000; D2:D1000; SUM) ' les deux étapes, une formule, plus les totaux et le tri
L'ancien motif fonctionne toujours et mérite d'être connu — mais GROUPBY replie le UNIQUE,
le SUMIFS, le tri et les totaux dans une seule expression qui ne peut pas se désynchroniser
(dans la version en deux étapes, un UNIQUE qui se déverse plus loin que votre colonne
SUMIFS supprime des catégories en silence). Quand vous avez besoin des catégories et des
agrégats ensemble, GROUPBY est l'outil le plus propre ; gardez SUMIFS pour amener un seul
total conditionnel dans une cellule précise.
Le jugement
Utilisez GROUPBY quand vous voulez un récapitulatif qui reste vivant et alimente d'autres
formules — une tuile de tableau de bord, un chiffre qui se recalcule à mesure que les données
arrivent, un tableau que vous référencerez ailleurs. Utilisez un tableau croisé dynamique
quand vous voulez explorer de façon interactive : glisser des champs, ajouter des segments,
double-cliquer pour descendre dans les lignes source. Gardez SUMIFS pour le cas ponctuel
« mettre le total de cette région dans cette cellule précise ». Les deux règles mécaniques qui
préviennent presque toutes les erreurs : le troisième argument est un nom de fonction nu
(SUM, jamais SUM()), et les totaux, le tri et le filtrage sont des arguments que vous
avez déjà — pensez à profondeur_totaux, ordre_tri et matrice_filtre avant d'envelopper
la formule dans quoi que ce soit. Dès que « synthétise ceci » devient une formule plutôt qu'un
objet, le reporting cesse d'être une corvée à refaire pour devenir quelque chose qui s'entretient
tout seul.
Comment ExcelMaster aide
GROUPBY est puissant, mais ses arguments facultatifs sont positionnels — oubliez un
point-virgule et vous réglez le mauvais. Dites à ExcelMaster « le total des ventes par
région, trié du plus grand au plus petit, avec un total général » et il écrit
=GROUPBY(C2:C1000; D2:D1000; SUM; ; 1; -2) avec les points-virgules de saut aux bons
endroits. Demandez « la valeur moyenne des commandes et le nombre de commandes par client » et
il élargit valeurs et choisit les agrégations. Et si vous collez un GROUPBY qui renvoie
#CALC! parce qu'il indique SUM() au lieu de SUM, ou si vous entretenez encore un bloc
UNIQUE + SUMIFS à la main, il repère le motif et le réécrit en une seule formule.
Questions fréquentes
Que fait GROUPBY dans Excel ?
GROUPBY(champs_lignes; valeurs; fonction) groupe les lignes selon les valeurs distinctes de
champs_lignes, agrège les valeurs correspondantes avec fonction (comme SUM ou
AVERAGE), et déverse un tableau récapitulatif trié et totalisé. C'est une version formule du
comportement de base d'un tableau croisé dynamique, et elle se recalcule automatiquement dès
que les données sous-jacentes changent.
Pourquoi passer SUM plutôt que SUM() dans GROUPBY ?
Parce que le troisième argument est une fonction, pas une valeur. GROUPBY applique
lui-même cette fonction à chaque groupe : vous lui tendez donc la fonction par son nom — SUM
— et le laissez faire l'appel. Écrire SUM() ou SUM(D:D) produit un seul nombre ou une
erreur au lieu d'une agrégation par groupe. Il en va de même pour AVERAGE, COUNT, MAX,
PERCENTOF et n'importe quelle LAMBDA.
Comment trier un GROUPBY par le total, du plus grand au plus petit ?
Utilisez l'argument ordre_tri (le sixième) : =GROUPBY(C2:C1000; D2:D1000; SUM; ; ; -2). Le
nombre est un indice de colonne — 2 est la première colonne agrégée — et un signe négatif la
trie en décroissant, si bien que -2 classe les groupes du plus grand total au plus petit.
Pas besoin d'envelopper la formule dans SORT.
GROUPBY peut-il grouper par deux colonnes et totaliser deux valeurs ?
Oui. Pour deux niveaux de groupement, donnez à champs_lignes deux colonnes adjacentes
(=GROUPBY(B2:C1000; D2:D1000; SUM)) et la première imbrique la seconde. Pour deux métriques,
élargissez valeurs à deux colonnes (=GROUPBY(C2:C1000; D2:E1000; SUM)) et chacune est
agrégée côte à côte. Vous pouvez faire les deux à la fois.
Quelles versions d'Excel ont GROUPBY ?
GROUPBY est une fonction Microsoft 365 déployée au fil de 2024–2025, d'abord aux Insiders
puis au Canal actuel. Elle n'est pas disponible dans Excel 2021, 2019, 2016, ni dans Excel
pour le web sur les versions plus anciennes. Si =GROUPBY(...) renvoie #NAME?, votre version
ne l'a pas encore — le motif UNIQUE +
SUMIFS est la solution de repli.
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 2026-07-18.
Guides connexes : Excel PIVOTBY · GROUPBY et PIVOTBY — Avancé · Excel SUMIFS · Excel UNIQUE · Excel FILTER
