BDMOYENNE (DAVERAGE en anglais) fait partie de la famille des fonctions de base de données d'Excel. Elle te permet de calculer la moyenne d'un champ selon des critères multiples que tu définis dans une zone séparée. C'est particulièrement puissant quand tu travailles avec de grandes tables de données et que tes critères changent régulièrement.
Contrairement à MOYENNE.SI.ENS où tu codes les critères directement dans la formule, BDMOYENNE lit les critères depuis une mini-table. Cela te permet de modifier tes critères sans toucher à la formule, idéal pour les rapports dynamiques ou les tableaux de bord professionnels.
Syntaxe de la fonction BDMOYENNE
=BDMOYENNE(base_de_données; champ; critères)Comprendre chaque paramètre de la fonction BDMOYENNE
Les trois arguments s'enchaînent toujours dans le même ordre : d'abord la plage de ta table (en-têtes compris), puis la colonne à moyenner, enfin la zone de critères. Aucun n'est facultatif, et c'est la troisième pièce qui fait toute la différence : tes filtres vivent dans une mini-table à part, pas dans la formule.
Le champ à moyenner se désigne au choix par son nom d'en-tête entre guillemets ("Salaire"), par son numéro de colonne, ou par une référence de cellule, le nom restant le plus lisible.
base_de_données
: la plage complète de ta table de données, incluant obligatoirement la ligne d'en-têtesPar exemple A1:E100 si ta table va de la colonne A à E et contient 99 lignes de données plus 1 ligne d'en-tête. Les en-têtes doivent être uniques et en première ligne de la plage.
Attention : N'oublie jamais la ligne d'en-têtes dans ta plage, sinon Excel ne pourra pas identifier les colonnes correctement.
champ
: la colonne sur laquelle tu veux calculer la moyenneTu peux l'indiquer de trois façons : soit par le nom de l'en-tête entre guillemets comme "Salaire", soit par le numéro de colonne dans ta base comme 3 (pour la 3ème colonne), soit par une référence de cellule contenant l'en-tête comme F1. La méthode par nom est la plus lisible.
critères
: une petite table séparée qui contient tes conditions de filtrageElle doit avoir au minimum deux lignes : la première avec les noms des colonnes (exactement comme dans ta base), et les lignes suivantes avec les valeurs à filtrer. Par exemple, G1:H2 pourrait contenir "Région" et "Nord" pour ne calculer que la moyenne de la région Nord.
Tu peux combiner plusieurs critères sur une même ligne (ET logique) ou sur des lignes différentes (OU logique).
Astuce : Place ta zone de critères au-dessus ou à côté de ta table principale, jamais à l'intérieur. Cela évite les références circulaires et rend ton fichier plus lisible. Tu peux aussi utiliser des cellules de saisie pour rendre tes critères dynamiques.
Pas envie d'écrire la formule BDMOYENNE à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
RH : calculer le salaire moyen par département
Tu travailles aux ressources humaines et tu dois calculer le salaire moyen du département Ventes pour préparer les budgets de l'année prochaine. Ta base de données contient tous les employés avec leur département et salaire.
| A | B | C | |
|---|---|---|---|
| 1 | Nom | Département | Salaire |
| 2 | Marie Dupont | Ventes | 45 000 € |
| 3 | Pierre Martin | IT | 52 000 € |
| 4 | Sophie Bernard | Ventes | 48 000 € |
| 5 | Lucas Petit | Ventes | 43 000 € |
| 6 | Emma Roux | IT | 55 000 € |
=BDMOYENNE(A1:C6;"Salaire";E1:E2)La zone de critères (en-tête "Département" en E1, valeur "Ventes" en E2) ne retient que les trois salaires des Ventes et la fonction en fait la moyenne : (45 000 + 48 000 + 43 000) / 3, soit 45 333 €. Si tu remplaces "Ventes" par "IT" en E2, le résultat bascule sur la moyenne du département IT (53 500 €) sans toucher à la formule.
Commercial : moyenne des ventes au-dessus d'un seuil
Tu es responsable commercial et tu veux analyser uniquement les grosses ventes pour identifier tes meilleurs vendeurs. Tu cherches la moyenne des ventes supérieures à 5 000 € pour voir le niveau de tes top performers.
| A | B | C | |
|---|---|---|---|
| 1 | Vendeur | Montant | Région |
| 2 | Alice | 8 500 € | Nord |
| 3 | Bob | 3 200 € | Sud |
| 4 | Clara | 12 000 € | Nord |
| 5 | David | 6 500 € | Est |
| 6 | Emma | 2 800 € | Sud |
=BDMOYENNE(A1:C6;"Montant";E1:E2)Ici, l'opérateur de comparaison placé dans la zone de critères (en-tête "Montant" en E1, condition >5000 en E2) écarte automatiquement les petites ventes. Seules celles d'Alice, Clara et David passent le filtre, et la fonction en fait la moyenne : (8 500 + 12 000 + 6 500) / 3 = 9 000 €. Tu peux modifier ce seuil à tout moment selon tes analyses.
Contrôleur de gestion : moyenne avec critères multiples (ET)
Tu es contrôleur de gestion et tu dois analyser la performance d'une région spécifique sur un trimestre donné. Tu veux la moyenne des scores de la région Nord au T1 uniquement, pour comparer avec les autres régions.
| A | B | C | |
|---|---|---|---|
| 1 | Région | Trimestre | Score |
| 2 | Nord | T1 | 85 |
| 3 | Nord | T2 | 92 |
| 4 | Sud | T1 | 78 |
| 5 | Nord | T1 | 88 |
| 6 | Est | T1 | 81 |
=BDMOYENNE(A1:C6;"Score";E1:F2)La formule combine deux critères placés sur la même ligne de la zone (en-têtes "Région" et "Trimestre", valeurs "Nord" et "T1"), ce qui crée un ET logique : seules les lignes vérifiant les deux conditions sont retenues. Ici, les lignes 1 et 4 (région Nord ET trimestre T1) passent le filtre, d'où une moyenne de (85 + 88) / 2 = 86.5.
Analyste : moyenne avec critères multiples (OU)
Tu es analyste de données et tu veux calculer la note moyenne des produits dans deux catégories différentes : Tech OU Électronique. Tu as besoin d'une logique OU, pas ET.
| A | B | C | |
|---|---|---|---|
| 1 | Produit | Catégorie | Note |
| 2 | Laptop | Tech | 4.5 |
| 3 | Chaise | Mobilier | 3.8 |
| 4 | Écouteurs | Électronique | 4.2 |
| 5 | Smartphone | Tech | 4.7 |
| 6 | Bureau | Mobilier | 4.0 |
=BDMOYENNE(A1:C6;"Note";E1:E3)La formule lit deux valeurs placées sous le même en-tête mais sur des lignes différentes ("Tech" en E2, "Électronique" en E3), ce qui crée un OU logique. Toutes les lignes correspondant à l'une OU l'autre catégorie sont retenues, d'où une moyenne de (4.5 + 4.2 + 4.7) / 3 = 4.47. C'est impossible à obtenir avec MOYENNE.SI.ENS.
Astuce de pro : Utilise BDNB avec les mêmes critères pour vérifier combien de lignes correspondent avant de lancer BDMOYENNE. Si BDNB retourne 0, tu sais que le problème vient de tes critères, pas du calcul.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BDMOYENNE
Avec BDMOYENNE, presque tout se joue dans le dialogue entre ta base et ta zone de critères. Le #DIV/0! tombe quand aucune ligne ne colle aux critères : Excel n'a alors rien à moyenner. Le #VALEUR! pointe vers l'argument champ mal nommé, et un résultat qui paraît faux trahit souvent une zone de critères sans sa ligne d'en-têtes.
Le fil rouge dans les trois cas : un nom de colonne qui ne correspond pas au caractère près à l'en-tête de ta base.
Erreur #DIV/0! : aucune correspondance trouvée
C'est l'erreur la plus fréquente avec BDMOYENNE. Elle survient quand aucun enregistrement de ta base ne correspond aux critères définis. Excel ne peut pas calculer une moyenne sur zéro valeur.
Solution : Vérifie que les noms de colonnes dans ta zone de critères correspondent EXACTEMENT aux en-têtes de ta base (même orthographe, même casse). Vérifie aussi que les valeurs recherchées existent bien dans ta table. Encapsule dans SIERREUR pour gérer l'affichage : =SIERREUR(BDMOYENNE(...); "Aucune donnée").
Erreur #VALEUR! : mauvaise référence de champ
Cette erreur apparaît quand le paramètre champ ne correspond à aucune colonne de ta base. Par exemple, si tu écris "Salaire" mais que ta colonne s'appelle "Sal." dans la base.
Solution : Vérifie l'orthographe exacte de ton en-tête. Si tu utilises un numéro de colonne, assure-toi qu'il ne dépasse pas le nombre de colonnes de ta base. Utilise le nom entre guillemets plutôt que le numéro, c'est plus fiable.
Résultat incorrect : zone de critères mal formatée
Si ta formule retourne un résultat inattendu, c'est souvent parce que ta zone de critères n'a pas la bonne structure. Elle doit TOUJOURS commencer par une ligne d'en-têtes.
Solution : Assure-toi que ta plage de critères inclut au minimum 2 lignes : la première avec les noms de colonnes, la seconde avec les valeurs. Même pour un seul critère, tu as besoin de ces deux lignes. Ne mets jamais juste une valeur isolée.
BDMOYENNE vs MOYENNE vs MOYENNE.SI.ENS vs BDMAX
Tu prends BDMOYENNE dès que tes filtres bougent souvent ou demandent un OU logique : la zone de critères externe te laisse changer un filtre sans rouvrir la formule, là où MOYENNE.SI.ENS te bloque sur du ET et des critères codés en dur. Pour une simple moyenne sans condition, MOYENNE reste plus directe.
BDMAX partage exactement la même mécanique de critères ; tu choisis entre les deux selon que tu cherches la moyenne ou la valeur la plus haute du sous-ensemble filtré.
| Critère | BDMOYENNE | MOYENNE | MOYENNE.SI.ENS | BDMAX |
|---|---|---|---|---|
| Critères multiples | Externe (zone séparée) | Non | Dans la formule | Externe (zone séparée) |
| Logique OU possible | Oui | Non | Non | Oui |
| Critères dynamiques | Très facile | Non | Avec INDIRECT | Très facile |
| Simplicité d'usage | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
| Résultat calculé | Moyenne | Moyenne | Moyenne | Maximum |
| Meilleur usage | Rapports dynamiques | Calculs simples | Critères fixes ET | Valeur max filtrée |
Astuces avancées avec BDMOYENNE
Crée un tableau de bord interactif
Place des listes déroulantes (Données, Validation) dans ta zone de critères. Ainsi, les utilisateurs peuvent sélectionner les filtres directement dans les cellules, et toutes les formules =BDMOYENNE(...) se mettent à jour automatiquement. C'est parfait pour créer des rapports que tes collègues peuvent utiliser sans connaître Excel.
Ton rapport devient autonome : le filtre est piloté par la cellule, pas par la formule.
Utilise la même zone pour toute la famille BD
Une seule zone de critères peut alimenter BDMOYENNE pour la moyenne, BDMAX pour le maximum, BDMIN pour le minimum et BDNB pour le nombre d'enregistrements. Tu obtiens une analyse complète en une poignée de formules qui partagent la même logique de filtrage.
Si le critère change, toutes les formules se mettent à jour d'un coup.
Exploite les caractères génériques
Dans ta zone de critères, tu peux utiliser * (n'importe quels caractères) et ? (un seul caractère). Mettre "Comm*" sous "Département" trouvera "Commercial", "Communication", etc. Pratique pour regrouper plusieurs catégories similaires sans lister chaque valeur.
Si une cellule de la zone de critères est vide (pas l'en-tête), Excel ignore ce critère : certains filtres deviennent optionnels.
Questions fréquentes sur la fonction BDMOYENNE
Quelle est la différence entre BDMOYENNE et MOYENNE.SI.ENS ?
BDMOYENNE utilise une zone de critères externe (une mini-table séparée), ce qui la rend plus flexible pour des critères complexes ou multiples. MOYENNE.SI.ENS définit les critères directement dans la formule.
Si tes critères changent souvent, BDMOYENNE est plus pratique : tu modifies la cellule de critères sans toucher à la formule. En revanche, si tes critères sont fixes et simples, MOYENNE.SI.ENS suffit et est plus rapide à écrire.
BDMOYENNE compte-t-elle les cellules vides dans le calcul ?
Non, BDMOYENNE ignore automatiquement les cellules vides et ne calcule la moyenne que sur les valeurs numériques qui correspondent à tes critères. C'est le même comportement que MOYENNE.
Si toutes les cellules correspondantes sont vides, tu obtiendras #DIV/0! puisqu'il n'y a aucune valeur à moyenner.
Peut-on utiliser des opérateurs dans les critères de BDMOYENNE ?
Oui. Tu peux utiliser >, <, >=, <=, <> dans ta zone de critères. Par exemple, écris >50000 sous un en-tête "Salaire" pour calculer la moyenne des salaires supérieurs à 50 000 €.
Tu peux aussi utiliser des caractères génériques comme * et ? pour des critères textuels partiels.
Que se passe-t-il si aucun enregistrement ne correspond aux critères ?
Tu obtiens l'erreur #DIV/0! car Excel ne peut pas calculer une moyenne sur zéro valeur. C'est utile pour détecter qu'un critère est trop restrictif.
Vérifie l'orthographe et les valeurs dans ta zone de critères. Tu peux aussi encapsuler dans SIERREUR pour afficher un message personnalisé à la place de l'erreur.
BDMOYENNE fonctionne-t-elle avec des tableaux Excel structurés ?
Oui, mais il faut utiliser les références de plage classiques (A1:D100) plutôt que les références structurées du tableau. BDMOYENNE est une fonction historique qui nécessite des plages traditionnelles pour le paramètre base_de_données.
Si tu travailles avec un tableau structuré, référence sa plage avec NomTableau[#Tout] pour inclure les en-têtes, ou détermine manuellement la plage A1:Xn.
Pour aller plus loin
Les fonctions similaires : MOYENNE.SI.ENS, MOYENNE, BDMAX, BDMIN, BDSOMME
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

