Somme par mois dans Excel
Additionnez des valeurs par mois avec SUMIFS et des bornes de dates, un tableau croisé dynamique ou une colonne d’aide, sans mélanger les années.
Méthode 1 : SUMIFS avec des bornes de dates
Supposons que les dates des transactions soient en colonne A et les montants en colonne B. Placez une vraie date de premier jour du mois en E2, par exemple 01/01/2026, et utilisez =SUMIFS($B$2:$B$1000,$A$2:$A$1000,">="&E2,$A$2:$A$1000,"<"&EDATE(E2,1)). La formule inclut le premier instant du mois et s’arrête avant le premier instant du mois suivant.
Cette borne supérieure exclusive est plus sûre que "<="&EOMONTH(E2,0) quand les cellules sources contiennent des valeurs date-heure, car un horodatage tardif le dernier jour est postérieur à minuit ce jour-là et serait ignoré. Recopiez la formule à côté d’une suite de dates de début de mois et appliquez à ces cellules le format mmmm aaaa (le code de format d’Excel en français) pour obtenir des libellés lisibles, tandis que la date sous-jacente conserve son année.
Quand les données forment un tableau Excel nommé tblSales, les références structurées sont plus lisibles et suivent la croissance du tableau : =SUMIFS(tblSales[Amount],tblSales[Date],">="&E2,tblSales[Date],"<"&EDATE(E2,1)). Construisez les débuts de mois une fois, puis recopiez la formule le long d’une colonne de dates ; chaque résultat reste lié à son propre libellé de mois. Un contrôle final vérifiant que les totaux mensuels s’additionnent au total général permet de repérer les lignes dont la date est absente ou en texte.
Méthode 2 : colonnes d’aide pour l’inspection
Une clé d’aide peut faciliter le filtrage et l’audit. =DATE(YEAR(A2),MONTH(A2),1) renvoie le premier jour du mois de A2. Recopiez-la vers le bas, appliquez-lui le format mmm aaaa, et utilisez SUMIF ou un tableau croisé dynamique sur ce champ. Comme la clé reste une vraie date, janvier 2025 reste distinct de janvier 2026.
Évitez =MONTH(A2) seule, sauf si le jeu de données ne contient réellement qu’une année : le numéro de mois 1 regroupe tous les mois de janvier. Une clé de texte comme =TEXT(A2,"yyyy-mm") est lisible mais reste du texte, si bien que le tri et les graphiques diffèrent d’une date (dans Excel en français, le code de format s’écrit "aaaa-mm"). Préférez la clé en vraie date et contrôlez son affichage par le format de nombre.
Méthode 3 : créer un tableau croisé dynamique
Pour une synthèse exploratoire, sélectionnez le tableau source propre et choisissez Insertion > Tableau croisé dynamique. Placez Date dans Lignes et Amount dans Valeurs. Les versions récentes regroupent souvent les dates automatiquement ; si des dates individuelles apparaissent, faites un clic droit sur une date, choisissez Grouper, puis sélectionnez Mois et Années. Vérifiez que le champ de valeurs indique Somme de Amount plutôt que Nombre de Amount.
Les tableaux croisés dynamiques sont efficaces quand les utilisateurs ont besoin de filtres et de plusieurs dimensions. Ils doivent être actualisés après une modification de la source, et les enregistrements ajoutés doivent se trouver dans le tableau ou la plage source. Comparez le total général à la SUM de la colonne de montants sources avant de vous fier au résultat groupé.
Erreurs fréquentes
Des dates importées sous forme de texte ne satisfont pas les critères de date numériques : SUMIFS renvoie alors 0, il faut d’abord les convertir. Un libellé de mois sans année confond des périodes, et une comparaison avec la fin du mois peut manquer des valeurs horodatées. Les plages de critères et la plage de somme doivent couvrir exactement les mêmes lignes. Ajoutez des critères supplémentaires sous forme de paires plage-critère, par exemple pour la région ou le statut.
À vous de jouer
En D2, totalisez les montants de janvier à partir du début de mois en C2.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Amount | Month start | Total |
| 2 | 1/3/2026 | 100 | 1/1/2026 | |
| 3 | 1/31/2026 | 150 | ||
| 4 | 2/1/2026 | 80 | ||
| 5 | 1/10/2025 | 60 | ||
| 6 | 2/7/2026 | 40 |
Réponse : =SUMIFS(B2:B6,A2:A6,">="&C2,A2:A6,"<"&EDATE(C2,1))
Exemple vérifié
Cinq transactions ; E2 contient le début du mois. Un montant de janvier 2026 porte l’heure 18:30, et un autre montant date de janvier 2025.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Date | Amount | Month start | ||
| 2 | 2026-01-03 | 100 | 2026-01-01 | ||
| 3 | 2026-01-31 18:30 | 150 | |||
| 4 | 2026-02-01 | 80 | |||
| 5 | 2025-01-10 | 60 | |||
| 6 | 2026-02-07 | 40 |
| Formule | Résultat |
|---|---|
=SUMIFS(B2:B6,A2:A6,">="&E2,A2:A6,"<"&EDATE(E2,1)) | 250 |
=SUMIFS(B2:B6,A2:A6,">="&E2,A2:A6,"<="&EOMONTH(E2,0)) | 100 |
=SUMPRODUCT((MONTH(A2:A6)=1)*B2:B6) | 310 |
=SUMIFS(B2:B6,A2:A6,">="&EDATE(E2,1),A2:A6,"<"&EDATE(E2,2)) | 120 |
=SUM(B2:B6) | 430 |
Erreurs fréquentes
- Regrouper seulement par mois et mélanger des années différentes.
- Utiliser des dates en texte ou des chaînes de date régionales incohérentes.
- Utiliser une borne de fin de mois à minuit, inclusive, alors qu’il existe des horodatages.
Questions fréquentes
Pourquoi SUMIFS renvoie-t-elle zéro avec des dates ?
Les dates sources sont peut-être du texte. Vérifiez qu’Excel les reconnaît comme des dates numériques et que toutes les plages sont alignées.
Comment éviter de mélanger les mois de janvier de différentes années ?
Utilisez de vraies dates de début de mois, ou groupez un tableau croisé dynamique par Années et par Mois à la fois.
Pourquoi utiliser « inférieur au mois suivant » ?
Cela inclut toutes les heures du dernier jour sans exiger de valeur spéciale de fin de journée.
Peut-on ajouter d’autres critères ?
Oui. Ajoutez des paires plage de critères et critère pour la région, le produit, le statut ou d’autres champs.
Mettre la compétence en pratique
Poursuivez avec une leçon FormulaCamp vérifiée (en anglais) : COUNTIF and SUMIF (en anglais)
Ouvrir la leçon (en anglais)