Le cabinet ouvre prochainement. Guides et simulateurs sont déjà en libre accès —être informé de l’ouverture
Excel

Excel : SOMME.SI.ENS pour analyser un grand livre par compte et par mois (tutoriel illustré)

Tutoriel pas à pas avec images : totaliser un grand livre par compte et par mois avec SOMME.SI.ENS, références absolues, FIN.MOIS, erreurs fréquentes et variantes.

Publié le 10 min de lectureNiveau : DébutantRédaction ExpertiseComptable.ma

En bref
  • SOMME.SI.ENS additionne les valeurs d’une colonne qui remplissent plusieurs conditions : un compte ET une période, par exemple.
  • La formule type : =SOMME.SI.ENS(plage_somme ; plage_critère1 ; critère1 ; plage_critère2 ; critère2 …) avec des références absolues ($) pour pouvoir la recopier.
  • Pour une période mensuelle, on combine deux critères de date : supérieure ou égale au 1er du mois et inférieure ou égale à FIN.MOIS.
  • Ce tableau remplace avantageusement des filtres manuels et sert de base à un reporting mensuel.

Un grand livre de plusieurs milliers de lignes ne se lit pas : il se synthétise. La fonction SOMME.SI.ENS (SUMIFS en anglais) permet de construire en quelques minutes un tableau de charges par compte et par mois, qui se met à jour dès que l’on ajoute des écritures. Ce tutoriel détaille chaque étape.

Ce que nous allons construire

À partir d’un extrait de grand livre (date, compte, libellé, débit), nous voulons un tableau qui donne, pour chaque compte de charge, le total débité chaque mois.

Étape 1 : préparer les données

Placez les écritures dans une feuille « Grand livre », en colonnes : Date, Compte, Libellé, Débit, Crédit. Les règles qui évitent 90 % des problèmes :

  • une ligne = une écriture, pas de lignes vides ni de totaux au milieu ;
  • les dates sont de vraies dates (alignées à droite par défaut), non du texte ;
  • les comptes ont tous le même format (tous du texte ou tous des nombres) ;
  • les montants sont des nombres (pas de texte avec espaces ou lettres).

Extrait de grand livre dans Excel : colonnes Date, Compte, Libellé, Débit et Crédit sur 7 lignes Figure 1 : l’extrait de grand livre (capture reconstituée). Les données occupent A1:E8.

Étape 2 : préparer le tableau de synthèse

Dans une zone libre (ici les colonnes G à I), créez :

  1. En G1 le libellé « Compte », puis en G2:G4 la liste des comptes à analyser : 6111, 6125, 6136.
  2. En H1 la date 01/01/2026 et en I1 la date 01/02/2026. Appliquez le format de cellule « mmm-aa » pour qu’elles s’affichent « janv-26 » et « févr-26 » : la cellule contient bien une date complète, indispensable au calcul.

Étape 3 : écrire la formule

Sélectionnez H2 et saisissez :

=SOMME.SI.ENS($D$2:$D$8;$B$2:$B$8;$G2;$A$2:$A$8;">="&H$1;$A$2:$A$8;"<="&FIN.MOIS(H$1;0))

Décryptage :

Argument Rôle
$D$2:$D$8 Plage à additionner : colonne Débit
$B$2:$B$8;$G2 Premier critère : le compte (colonne B) doit être égal à la valeur de G2
$A$2:$A$8;">="&H$1 Deuxième critère : date supérieure ou égale au 1er du mois
$A$2:$A$8;"<="&FIN.MOIS(H$1;0) Troisième critère : date inférieure ou égale au dernier jour du mois (FIN.MOIS avec 0 renvoie la fin du mois de H1)

Le symbole & concatène l’opérateur (“>=”) et la date : indispensable pour que la date soit lue comme un nombre dans le critère.

Tableau de synthèse avec la formule SOMME.SI.ENS saisie dans la cellule H2 et les résultats par compte et par mois Figure 2 : la formule dans la barre de formule (repère 3), les mois en en-tête (repère 2) et les comptes en colonne G (repère 1). Le cadre vert montre la zone remplie par la recopie.

Étape 4 : recopier la formule

Pourquoi les $ ? Ils figent les parties de la formule qui ne doivent pas bouger :

  • $D$2:$D$8, $B$2:$B$8, $A$2:$A$8 : les plages de données restent les mêmes pour toutes les cellules ;
  • $G2 : on fige la colonne G, mais pas la ligne (la formule suit les comptes vers le bas) ;
  • H$1 : on fige la ligne 1, mais pas la colonne (la formule suit les mois vers la droite).

Sélectionnez H2, copiez (Ctrl+C), sélectionnez H2:I4 puis collez (Ctrl+V). Excel recalcule chaque cellule.

Résultats attendus :

Compte janv-26 févr-26
6111 82 000,00 41 500,00
6125 8 500,00 8 900,00
6136 10 000,00 10 000,00

Vérification : 50 000 + 32 000 = 82 000 pour 6111 en janvier ✔.

Étape 5 : ajouter des totaux et des contrôles

  • Total par mois : =SOMME(H2:H4).
  • Contrôle de complétude : le total du tableau doit égaler le total de la colonne Débit des comptes concernés (=SOMME.SI.ENS($D$2:$D$8;$B$2:$B$8;"61*") si les comptes sont en texte).
  • Mise en forme conditionnelle pour repérer un mois en hausse de plus de 20 % : voir la mise en forme conditionnelle pour des alertes automatiques.

Variantes utiles

Besoin Formule
Total d’un compte sur toute l’année =SOMME.SI($B$2:$B$8;$G2;$D$2:$D$8)
Classe 61 entière (comptes en texte) =SOMME.SI.ENS($D$2:$D$8;$B$2:$B$8;"61*")
Montant supérieur à 10 000 =SOMME.SI.ENS($D$2:$D$8;$B$2:$B$8;$G2;$D$2:$D$8;">10000")
Nombre d’écritures du compte =NB.SI.ENS($B$2:$B$8;$G2)
Débit − crédit (solde) =SOMME.SI.ENS(Débit;…)-SOMME.SI.ENS(Crédit;…)

Erreurs fréquentes

  1. Plages de tailles différentes : #VALEUR !. Toutes les plages doivent avoir exactement le même nombre de lignes.
  2. Références relatives au lieu d’absolues : les plages glissent à la recopie et les résultats deviennent faux.
  3. Dates en texte : un critère de date ne fonctionne pas. Convertissez avec =DATEVAL() ou Données > Convertir.
  4. Comptes de formats mixtes : 6111 (nombre) n’est pas égal à “6111” (texte). Uniformisez avec =TEXTE(B2;"0").
  5. Séparateur de formules : dans Excel en français, les arguments se séparent par ;, et non par , (réglage régional).

Cas pratique : une balance âgée avec SOMME.SI.ENS

Un fichier de factures clients contient, pour chaque facture, le client, la date d’échéance et le solde restant dû. On veut ventiler l’encours de chaque client par ancienneté de retard.

Facture Client Échéance Solde dû (MAD)
F-201 Atlas 20/04 40 000
F-208 Atlas 05/05 25 000
F-215 Atlas 12/06 30 000
F-219 Atlas 28/06 15 000
F-224 Atlas 20/07 60 000

Date de l’analyse : 30/06. Les tranches se définissent par rapport à cette date (mise à la place d’AUJOURDHUI() pour figer le calcul, dans une cellule nommée Date_analyse).

Tranche Formule (client en A2)
Non échu =SOMME.SI.ENS(Solde;Client;$A2;Echeance;">="&Date_analyse)
Retard de 1 à 30 jours =SOMME.SI.ENS(Solde;Client;$A2;Echeance;"<"&Date_analyse;Echeance;">="&Date_analyse-30)
Retard de 31 à 60 jours =SOMME.SI.ENS(Solde;Client;$A2;Echeance;"<"&Date_analyse-30;Echeance;">="&Date_analyse-60)
Retard de plus de 60 jours =SOMME.SI.ENS(Solde;Client;$A2;Echeance;"<"&Date_analyse-60)

Résultat pour le client Atlas au 30/06 :

Facture Échéance Retard au 30/06 Tranche Montant
F-201 20/04 71 jours Plus de 60 jours 40 000
F-208 05/05 56 jours 31 à 60 jours 25 000
F-215 12/06 18 jours 1 à 30 jours 30 000
F-219 28/06 2 jours 1 à 30 jours 15 000
F-224 20/07 non échue Non échu 60 000
Tranche Montant Part de l’encours (170 000)
Non échu 60 000 35,3 %
1 à 30 jours 45 000 26,5 %
31 à 60 jours 25 000 14,7 %
Plus de 60 jours 40 000 23,5 %
Total 170 000 100 %

La somme des quatre tranches doit égaler l’encours total (170 000) : c’est le contrôle de la construction. Les 40 000 MAD de plus de 60 jours demandent une action (relance ferme, provision à examiner : voir l’article sur les créances douteuses).

Les points d’attention des formules à dates

  1. Concaténer l’opérateur et la date avec & : ">="&Date_analyse, jamais ">=Date_analyse".
  2. Les dates sont des nombres : Date_analyse-30 donne la date trente jours plus tôt.
  3. Des bornes qui ne se chevauchent pas : « < » d’un côté, « >= » de l’autre, sinon une facture est comptée deux fois.
  4. Des plages de même taille : toutes les plages d’un SOMME.SI.ENS doivent avoir le même nombre de lignes.
  5. Des noms de plages (Solde, Client, Echeance) rendent les formules lisibles et évitent les décalages quand le tableau grandit.

Totaux par période avec des critères de dates

SOMME.SI.ENS accepte des opérateurs de comparaison dans ses critères, ce qui permet de ventiler un grand livre par mois, trimestre ou exercice. Avec une colonne de dates en A, les comptes en B, les débits en D et les crédits en E, et des dates de début et de fin de période en cellules G1 et H1 :

Besoin Formule
Débit d’un compte sur une période =SOMME.SI.ENS($D:$D;$B:$B;$G3;$A:$A;">="&$G$1;$A:$A;"<="&$H$1)
Débit des comptes de la classe 6 sur le mois de mars =SOMME.SI.ENS($D:$D;$B:$B;"6*";$A:$A;">="&DATE(2026;3;1);$A:$A;"<="&FIN.MOIS(DATE(2026;3;1);0))
Solde (débit − crédit) d’un compte à une date =SOMME.SI.ENS($D:$D;$B:$B;$G3;$A:$A;"<="&$H$1)-SOMME.SI.ENS($E:$E;$B:$B;$G3;$A:$A;"<="&$H$1)
Nombre d’écritures supérieures à 50 000 sur un compte =NB.SI.ENS($B:$B;$G3;$D:$D;">50000")
Somme des libellés contenant « honoraires » =SOMME.SI.ENS($D:$D;$C:$C;"*honoraires*")

Les critères de texte acceptent les caractères génériques (* pour une suite de caractères, ? pour un seul). Pour des comptes enregistrés comme nombres, la formule "6*" ne fonctionne pas : il faut soit convertir la colonne en texte, soit utiliser des bornes numériques (">=6000" et "<7000").

Un tableau de bord mensuel des charges par classe

On construit un tableau de douze colonnes (mois) avec en ligne les familles de charges (achats, charges externes, personnel…) :

Étape Action
1 Ligne 1 : saisir en B1 la date 01/01/2026, puis =FIN.MOIS(B1;0)+1 en C1, et recopier pour les douze mois
2 Colonne A : écrire les préfixes de comptes (« 611 », « 613 »…)
3 Formule en B2 : =SOMME.SI.ENS(Grand_livre[Débit];Grand_livre[Compte];$A2&"*";Grand_livre[Date];">="&B$1;Grand_livre[Date];"<="&FIN.MOIS(B$1;0))
4 Ligne de total : =SOMME(B2:B9) et colonne de cumul
5 Contrôle : le total annuel du tableau égale =SOMME.SI(Grand_livre[Compte];"6*";Grand_livre[Débit])

Le tableau se met à jour à chaque nouvel export du grand livre. Une mise en forme conditionnelle colore les mois dont la charge dépasse de plus de 20 % la moyenne des mois précédents.

Comparer deux exercices

Avec un grand livre sur deux ans, une colonne « Exercice » (=ANNEE([@Date])) permet de comparer :

Compte N−1 N Variation Variation en %
613 Locations 540 000 585 000 +45 000 +8,3 %
616 Primes d’assurances 62 000 91 000 +29 000 +46,8 %
617 Charges de personnel 2 450 000 2 700 000 +250 000 +10,2 %
618 Autres charges externes 310 000 342 000 +32 000 +10,3 %

Les formules : N−1 =SOMME.SI.ENS(Débit;Compte;$A2;Exercice;2025), N identique avec 2026, variation =C2-B2, pourcentage =D2/B2. Les variations supérieures à un seuil (par exemple 20 % et 20 000 MAD) sont mises en évidence et font l’objet d’une explication dans le dossier. Dans l’exemple, la prime d’assurance (+46,8 %) appelle une vérification : nouveau contrat, hausse tarifaire, régularisation ?

Repérer les plus gros montants

Pour lister les cinq plus grosses charges d’un compte, associer GRANDE.VALEUR et RECHERCHEX :

=GRANDE.VALEUR(SI(Compte="6136";Débit);1) (formule matricielle dans les anciennes versions) pour le premier montant, puis =RECHERCHEX(valeur;Débit;Libellé) pour retrouver le libellé. Cette liste des cinq premières lignes donne une idée immédiate de la concentration de la dépense et sert de base à la revue des fournisseurs.

Les cinq erreurs qui produisent des totaux faux sans message d’erreur

  1. Critère ">=01/01/2026" entre guillemets sans concaténation : la date doit être concaténée avec & (">="&G1).
  2. Plage de somme décalée d’une ligne par rapport aux plages de critères.
  3. Montants importés en texte (alignés à gauche) ignorés par la somme.
  4. Comptes avec espaces ou zéros en tête : "6111 " n’est pas égal à "6111".
  5. Plage de références relative après recopie : sans $, les plages glissent.

Un contrôle de total par un moyen indépendant (tableau croisé dynamique, SOMME.SI) à chaque modification de formule détecte ces erreurs avant qu’elles n’aient de conséquences.

Pour aller plus loin

Quand les données dépassent quelques milliers de lignes, transformez la plage en tableau Excel (Ctrl+T) : les plages deviennent des références structurées (Tableau1[Débit]) qui s’étendent automatiquement. La version 365 ajoute les fonctions dynamiques (FILTRE, UNIQUE, SOMME.SI.ENS avec tableaux), mais SOMME.SI.ENS reste compatible avec toutes les versions.

Cette synthèse alimente naturellement un tableau de bord mensuel et le suivi budgétaire. Un modèle de plan de trésorerie montre comment brancher ce type de calcul sur des prévisions.

Pour aller plus loin

Ces techniques s’enchaînent avec d’autres tutoriels : le tableau croisé dynamique pour explorer les données sans formule, la recherche de valeurs pour habiller les comptes, le rapprochement bancaire et le nettoyage des données avant tout calcul. Un classeur bâti sur ces briques se met à jour d’un mois à l’autre en remplaçant simplement l’export du grand livre.

Questions fréquentes

Quelle différence entre SOMME.SI et SOMME.SI.ENS ?

SOMME.SI accepte un seul critère ; SOMME.SI.ENS en accepte jusqu’à 127. Attention à l’ordre des arguments : dans SOMME.SI.ENS, la plage à additionner vient en premier.

Pourquoi mon résultat est-il zéro alors que les données existent ?

Les causes habituelles : les comptes sont du texte dans une colonne et des nombres dans l’autre, les dates sont du texte, les plages n’ont pas la même taille, ou un espace parasite traîne dans les données (utilisez SUPPRESPACE ou une conversion en nombre).

Comment inclure toute une classe de comptes (tous les 61xx) ?

Utilisez des caractères génériques sur du texte : le critère "61*" prend tous les comptes qui commencent par 61, à condition que les comptes soient stockés comme du texte.

Peut-on utiliser un tableau croisé dynamique à la place ?

Oui, c’est même recommandé pour de gros volumes. La formule reste utile pour les tableaux de reporting au format fixe, qui doivent se mettre à jour sans manipulation.

Rédaction ExpertiseComptable.ma

Articles rédigés par l’équipe du cabinet à partir des textes officiels et de la pratique des missions. Chaque article indique sa date de publication et, le cas échéant, de dernière revue.

Partager :LinkedInFacebookWhatsApp

Articles connexes

Une question sur votre situation ?

Décrivez-nous votre projet : nous vous répondons sous 48 heures ouvrées avec une proposition de lettre de mission.