Qu'est-ce que la fonction BDSOMME ?
BDSOMME (DSUM en anglais) te sert le jour où SOMME.SI.ENS ne suffit plus, parce que ta condition demande soit ce critère soit cet autre, pas les deux à la fois. C'est la seule fonction de somme d'Excel qui gère nativement le OU, sans empiler plusieurs formules.
Cette fonction est particulièrement utile quand tu gères des tableaux de données structurées et que tu veux appliquer plusieurs filtres dynamiques sans multiplier les formules. Elle brille dans les tableaux de bord où l'utilisateur doit pouvoir modifier les critères sans toucher aux formules.
Syntaxe
=BDSOMME(base_de_données; champ; critères)Clique sur un argument pour aller à son explication.
La zone de critères doit OBLIGATOIREMENT contenir une ligne d'en-têtes identiques à ceux de la base de données (majuscules, accents et espaces compris). C'est la différence fondamentale avec SOMME.SI.ENS : BDSOMME exige une zone dédiée, mais cette contrainte offre une flexibilité bien supérieure pour les conditions OU.

Comprendre chaque paramètre de la fonction BDSOMME
Les trois arguments s'enchaînent dans un ordre précis : tu pointes d'abord ta base avec ses en-têtes, puis tu nommes la colonne à additionner (entre guillemets, comme "Ventes"), et enfin tu désignes la zone de critères. Aucun n'est facultatif ici, et c'est justement cette zone de critères séparée, en troisième position, qui te donne les conditions OU que SOMME.SI.ENS ne sait pas faire.
base_de_données
: la plage de cellules qui constitue ta base de données, incluant obligatoirement les en-têtes de colonnesPar exemple A1:E100 où A1:E1 contient les titres des colonnes. Les en-têtes sont essentiels : BDSOMME les utilise pour identifier les champs à traiter.
Si tu réorganises tes colonnes, la formule reste juste tant que les en-têtes ne changent pas. C'est l'un des avantages des fonctions BD* par rapport aux SOMME.SI qui s'appuient sur des positions de colonnes.
champ
: le nom de la colonne à additionner, entre guillemets comme `"Ventes"`, ou son numéro de position (`1` pour la première colonne, `2` pour la deuxième, etc.)Utiliser le nom est plus lisible et évite les erreurs si tu réorganises tes colonnes.
Le nom doit correspondre exactement à l'en-tête de ta base de données, caractère par caractère.
Attention : Oublier les guillemets autour du nom de champ provoque une erreur #VALEUR!. Écris toujours "Ventes" et jamais Ventes sans guillemets.
critères
: une plage séparée contenant les en-têtes de colonnes (exactement comme dans ta base) et les conditions en dessousPar exemple G1:H2 où G1:H1 contient les noms de colonnes et G2:H2 les valeurs à filtrer.
Plusieurs cellules sur une même ligne fonctionnent comme un ET logique (toutes les conditions doivent être vraies simultanément). Plusieurs lignes de conditions fonctionnent comme un OU logique (au moins une ligne suffit). Tu peux combiner les deux pour des filtres très précis : plusieurs colonnes par ligne pour le ET, plusieurs lignes pour le OU.

Exemples pratiques pas à pas
Comment additionner une colonne selon un critère avec la fonction BDSOMME
La réunion régionale est dans une heure et on te demande le chiffre d'affaires de la région Nord. Tes quatorze vendeurs sont listés avec leur région et le montant qu'ils ont réalisé, et tu veux le total du Nord sans trier ni filtrer quoi que ce soit. La fonction BDSOMME lit une zone de critères posée à côté du tableau et additionne d'un coup les ventes qui y correspondent.
- 1Dans une cellule, écris
=BDSOMME(. - 2En 1er argument : sélectionne le tableau des vendeurs avec sa ligne de titres,
A1:C15. Inclure cette première ligne n'est pas une maladresse de sélection mais une exigence de la fonction. C'est là qu'elle apprend que la colonne B s'appelleRégionet la colonne CVentes. - 3En 2ᵉ argument : écris le nom de la colonne à additionner entre guillemets,
"Ventes". Le libellé doit être orthographié exactement comme l'en-tête de la colonne C. Seules les valeurs de cette colonne entrent dans le total. - 4En 3ᵉ argument : sélectionne la zone de critères,
E1:E2. Tu l'as préparée à côté du tableau, avec l'en-têteRégionrecopié enE1et la valeurNordjuste en dessous. Ces deux cellules décident des lignes retenues, et tu y changes de région sans jamais rouvrir la formule. - 5Ferme la parenthèse et appuie sur Entrée.
=BDSOMME(A1:C15; "Ventes"; E1:E2)Nord (Marie, Sophie, Emma, Hugo, Lina et Alice), puis additionne leurs ventes pour arriver à 128 000 €. Remplace Nord par Sud en E2 et le total se recalcule tout seul, sans que tu touches à la formule.Comment croiser deux critères en ET avec la fonction BDSOMME
Un client t'appelle pour contester sa relance et tu dois lui annoncer son solde exact, tout de suite, au téléphone. Toutes les factures dorment dans le même tableau, mélangées entre plusieurs clients et deux statuts, et il te faut le total des impayées de ce client uniquement. La fonction BDSOMME vérifie les deux conditions en même temps, à condition de les poser côte à côte dans la zone de critères.
- 1Dans une cellule, écris
=BDSOMME(. - 2En 1er argument : sélectionne le tableau des factures avec sa ligne de titres,
A1:C7. Les trois titresClient,StatutetMontantforment le vocabulaire que la zone de critères devra reprendre à l'identique. Un en-tête recopié de travers d'un côté ou de l'autre renvoie#VALEUR!. - 3En 2ᵉ argument : écris le nom de la colonne à additionner entre guillemets,
"Montant". Elle est distincte des deux colonnes qui servent à filtrer, et c'est le cas le plus courant. - 4En 3ᵉ argument : sélectionne la zone de critères,
E1:F2. Elle tient sur deux colonnes, avec les titresClientetStatutrecopiés enE1etF1, puisEntreprise ABCetImpayéeécrits juste en dessous. Poser les deux valeurs sur la même ligne oblige la fonction à les vérifier ensemble, donc une facture impayée d'un autre client reste dehors. - 5Ferme la parenthèse et appuie sur Entrée.
=BDSOMME(A1:C7; "Montant"; E1:F2)Entreprise ABC et au statut Impayée passent le filtre, et leurs montants s'additionnent (2 300 + 3 700 = 6 000 €). La facture de 1 500 € est bien impayée elle aussi, mais son client ne correspond pas, donc la fonction l'écarte.Comment utiliser un opérateur de comparaison avec la fonction BDSOMME
Le réassort de la semaine se prépare et une rupture sur une référence phare coûterait cher. Ton tableau liste chaque produit avec sa catégorie et son stock, et tu cherches le total des quantités restantes sur les références descendues sous les 50 unités, sans savoir à l'avance combien de lignes sont concernées. La fonction BDSOMME accepte un opérateur de comparaison directement dans la zone de critères, donc le seuil se change en une frappe.
- 1Dans une cellule, écris
=BDSOMME(. - 2En 1er argument : sélectionne le tableau des produits avec sa ligne de titres,
A1:C7. La fonction y lit les nomsProduit,CatégorieetStock, ses seuls repères pour retrouver une colonne. - 3En 2ᵉ argument : écris le nom de la colonne à additionner entre guillemets,
"Stock". C'est aussi la colonne qui sert de filtre juste après, et rien n'interdit ce doublon. - 4En 3ᵉ argument : sélectionne la zone de critères,
E1:E2. L'en-têteStockest recopié enE1, et la condition<50s'écrit juste en dessous à la place d'une valeur exacte. Pour viser un autre seuil, tu réécris le contenu deE2sans toucher à la formule. - 5Ferme la parenthèse et appuie sur Entrée.
=BDSOMME(A1:C7; "Stock"; E1:E2)<50 écrit sous l'en-tête Stock ne retient que les références passées sous le seuil, et la fonction additionne leurs quantités (25 + 35 + 45 + 18 = 123). Rien n'interdit de filtrer et d'additionner la même colonne, et tous les opérateurs sont acceptés (>1000, >=100, <>0).Comment combiner des critères en OU avec la fonction BDSOMME
L'arbitrage budgétaire tombe vendredi et on te demande ce que pèsent ensemble le Marketing et le Commercial. Tes dépenses sont saisies ligne par ligne avec le département qui les porte, et tu veux ces deux services en un seul chiffre, sans empiler deux formules ni additionner leurs résultats à la main. La fonction BDSOMME gère ce OU nativement : il suffit d'empiler les deux départements dans la zone de critères.
- 1Dans une cellule, écris
=BDSOMME(. - 2En 1er argument : sélectionne le tableau des dépenses avec sa ligne de titres,
A1:C7. Les six lignes de dépenses et les titresDépartement,TypeetMontantdoivent tenir dans la plage. Si la sélection démarre une ligne plus bas, la fonction prend la première dépense pour une ligne de titres et l'écarte du calcul. - 3En 2ᵉ argument : écris le nom de la colonne à additionner entre guillemets,
"Montant". C'est la seule colonne de nombres du tableau, et c'est bien son total que l'arbitrage attend. - 4En 3ᵉ argument : sélectionne la zone de critères,
E1:E3. L'en-têteDépartementest recopié enE1, puis les deux services à réunir s'empilent en dessous,MarketingenE2etCommercialenE3. Le second n'existe pour la fonction que si la référence descend jusqu'àE3, sinon le total ne couvre que le Marketing. - 5Ferme la parenthèse et appuie sur Entrée.
=BDSOMME(A1:C7; "Montant"; E1:E3)
Les erreurs fréquentes avec la fonction BDSOMME
Tout se joue sur les en-têtes : ceux de ta zone de critères doivent recopier au caractère près ceux de ta base (un accent ou un espace en trop, et tu récoltes un #VALEUR!). Le reste vient des mêmes causes : un nom de champ sans guillemets, une zone de critères qui oublie sa ligne de titres, ou une base dont la première ligne n'est pas une vraie ligne d'en-têtes.
Erreur #VALEUR! : en-têtes non correspondants
C'est l'erreur la plus fréquente avec BDSOMME. Elle survient quand les en-têtes de ta zone de critères ne correspondent pas exactement aux en-têtes de ta base de données : majuscules, accents ou espaces différents.
Solution : Copie-colle les en-têtes depuis ta base de données vers ta zone de critères au lieu de les retaper. Vérifie aussi qu'il n'y a pas d'espaces invisibles avant ou après le texte avec =SUPPRESPACE(cellule).
Nom de champ non reconnu : résultat vide ou erreur
Le nom du champ entre guillemets ne correspond à aucun en-tête de la base de données, ou les guillemets sont absents.
Solution : Vérifie que le nom du champ est entre guillemets et correspond exactement à un en-tête de colonne. En alternative, utilise le numéro de colonne (2 pour la deuxième colonne), mais c'est moins lisible et fragile si tu réorganises les colonnes.
Zone de critères sans ligne d'en-têtes
BDSOMME nécessite obligatoirement des en-têtes dans la zone de critères. Si tu mets directement les valeurs sans titre, la formule ne fonctionnera pas correctement.
Solution : Ta zone de critères doit toujours avoir au moins deux lignes : la première avec les noms de colonnes (identiques à la base), la seconde avec les valeurs à filtrer. Un oubli de la ligne d'en-têtes est la cause de 80% des erreurs avec toutes les fonctions BD*.
Base de données sans en-têtes dans la plage référencée
Si ta plage base_de_données ne commence pas par une ligne d'en-têtes, BDSOMME considère la première ligne de données comme des titres et ignore ces données dans les calculs.
Solution : Assure-toi que la première ligne de ta plage base_de_données contient bien les titres des colonnes. C'est une règle absolue pour toutes les fonctions BD*.

Astuces avancées avec BDSOMME
Laisse une cellule vide pour inclure tous les enregistrements
Si tu laisses une cellule de critères vide (avec seulement l'en-tête), BDSOMME ignore ce critère et inclut tous les enregistrements pour cette colonne. C'est parfait pour créer des filtres optionnels : si l'utilisateur ne remplit pas un critère, tous les enregistrements sont pris en compte.
Résultat : un tableau de bord flexible où chaque cellule de filtre est indépendante.
Crée des critères calculés avec des formules
Dans ta zone de critères, tu peux utiliser une formule pour définir un critère dynamique. Par exemple, pour filtrer les ventes du mois en cours, mets =">="&DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());1) dans ta cellule de critère.
Le critère se met à jour automatiquement chaque mois sans que tu touches à la formule.

BDSOMME vs SOMME vs SOMME.SI vs SOMME.SI.ENS
Utilise BDSOMME quand tu as besoin de conditions OU ou d'un tableau de critères modifiable par l'utilisateur. Pour des cas simples avec un ou deux critères ET, SOMME.SI ou SOMME.SI.ENS seront plus rapides à mettre en place.
| Critère | BDSOMME | SOMME | SOMME.SI | SOMME.SI.ENS |
|---|---|---|---|---|
| Critères multiples | ET et OU | Non | 1 seul | Plusieurs (ET uniquement) |
| Conditions OU combinées | Oui (natif) | Non | Non | Non |
| Syntaxe | Zone séparée requise | Très simple | Simple | Moyenne |
| Critères dynamiques | Facile (cellules modifiables) | Non | Avec formules | Avec formules |
| Cas d'usage typique | Tableaux de bord interactifs | Totaux simples | Filtrage basique | Filtrage multicritères ET |
Questions fréquentes
BDSOMME utilise une zone de critères séparée avec des en-têtes, ce qui permet des conditions plus complexes : OU entre lignes, ET entre colonnes. SOMME.SI.ENS est plus simple pour des critères basiques en ET, mais elle ne gère pas nativement les conditions OU. Pour combiner OU et ET dans une même formule, BDSOMME est la seule option directe.
La zone de critères doit obligatoirement avoir les mêmes en-têtes que ta base de données (majuscules, accents, espaces identiques). Place les conditions sous les en-têtes : une ligne = conditions ET (toutes doivent être vraies), plusieurs lignes = conditions OU (au moins une suffit).
Oui. Tu peux utiliser >, <, >=, <=, <> dans ta zone de critères. Par exemple, pour des ventes supérieures à 1000, mets Ventes en en-tête et >1000 dans la cellule en dessous. Les guillemets ne sont pas nécessaires dans la cellule de la feuille, mais si tu construis le critère dans une formule, utilise des guillemets : ">1000".
Oui, tu peux utiliser BDSOMME avec des tableaux Excel structurés. Utilise la référence du tableau comme base_de_données et le nom de colonne entre guillemets pour le champ. C'est même recommandé car la formule s'adapte automatiquement quand tu ajoutes des lignes.
Cette erreur survient généralement quand les en-têtes de ta zone de critères ne correspondent pas exactement aux en-têtes de ta base de données. Vérifie l'orthographe exacte, les majuscules et les espaces. Vérifie aussi que le nom de champ est bien entre guillemets et existe dans ta base.
Pour aller plus loin
Continue sur ta lancée après la fonction BDSOMME : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




