Aller au contenu principal

Qu'est-ce que la fonction BDMOYENNE ?

Définition
La fonction BDMOYENNE calcule la moyenne d'un champ dans une base de données en appliquant des critères définis dans une zone externe. Elle accepte une logique ET (critères sur la même ligne) et une logique OU (critères sur des lignes différentes).

Tu sors BDMOYENNE (DAVERAGE en anglais) quand un seul jeu de critères doit nourrir plusieurs indicateurs à la fois, moyenne, max, min, comptage, et que tu veux les garder synchronisés sans réécrire le filtre dans chaque formule.

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

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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.

1

base_de_données

: la plage complète de ta table de données, incluant obligatoirement la ligne d'en-têtes

Par 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.

2

champ

: la colonne sur laquelle tu veux calculer la moyenne

Tu 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.

3

critères

: une petite table séparée qui contient tes conditions de filtrage

Elle 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).

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer une moyenne selon un critère avec la fonction BDMOYENNE

Tu prépares les objectifs du trimestre et tu as besoin du niveau réel d'une vente sur le Nord, pas d'une impression. Tes quatorze vendeurs sont listés avec leur région et le montant qu'ils ont réalisé, et tu veux la moyenne du Nord seul, sans extraire les lignes dans un coin de la feuille. La fonction BDMOYENNE lit une zone de critères posée à côté du tableau et calcule la moyenne des seules lignes qui y répondent.

Les étapes
  1. 1
    Dans une cellule, écris =BDMOYENNE(.
  2. 2
    En 1er argument : sélectionne la table où chercher, A1:C15. La ligne d'en-têtes est comprise dans la plage, et ce n'est pas une maladresse de sélection. La fonction a besoin des titres Vendeur, Région et Ventes pour savoir quelle colonne porte quel nom.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne à moyenner, "Ventes". Il se met entre guillemets et s'orthographie à l'identique de l'en-tête de la colonne C. Seules les valeurs de cette colonne seront additionnées puis divisées.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères préparée à côté du tableau, E1:E2. Elle tient en deux cellules, avec l'en-tête Région recopié en E1 et la valeur Nord juste en dessous. Écris Sud à la place de Nord et la moyenne bascule sur le Sud, sans que la formule change d'un caractère.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=BDMOYENNE(A1:C15; "Ventes"; E1:E2)
Explication
La fonction lit la zone de critères, ne garde que les six vendeurs du Nord, additionne leurs ventes (128 000 €) puis divise par 6, ce qui donne 21 333 €. Les huit autres lignes ne pèsent nulle part, ni dans le total ni dans le diviseur, et c'est toute la différence avec une moyenne posée sur la colonne entière, qui tomberait à 19 143 €.
Exemple 2

Comment une cellule vide change la moyenne de la fonction BDMOYENNE

Le conseil de classe est demain et tu dois annoncer la moyenne de la 3e B au dernier contrôle. Ton relevé liste chaque élève avec sa classe et sa note, sauf qu'un élève était absent ce jour-là et que sa case est restée vide, ce qui change la façon dont le calcul se fait. La fonction BDMOYENNE filtre sur la classe et traite ce vide toute seule, encore faut-il savoir ce qu'elle en fait.

Les étapes
  1. 1
    Dans une cellule, écris =BDMOYENNE(.
  2. 2
    En 1er argument : sélectionne le relevé complet, A1:C7. Les en-têtes Élève, Classe et Note font partie de la plage, sans quoi la fonction n'a aucun moyen de reconnaître les colonnes.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne dont tu veux la moyenne, "Note". La fonction ne retient que les nombres de cette colonne, et une case restée vide en est écartée sans le moindre message.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères, E1:E2. Tu y as recopié l'en-tête Classe en E1 et écrit la valeur 3e B en E2, ce qui retient quatre élèves. Le diviseur, lui, ne comptera que les notes réellement saisies, et c'est cette distinction qu'il faut avoir en tête avant d'annoncer un chiffre.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=BDMOYENNE(A1:C7; "Note"; E1:E2)
Explication
Quatre élèves de 3e B passent le filtre, mais la fonction BDMOYENNE n'en moyenne que trois : la case vide de Yanis Combe est ignorée, au numérateur comme au diviseur, d'où (14 + 16 + 12) / 3 = 14. La nuance est loin d'être anodine : en écrivant un 0 à la place du vide, le diviseur passerait à 4 et la moyenne s'effondrerait à 10,5. Un absent n'est pas un zéro.
Exemple 3

Comment éviter l'erreur #DIV/0! de la fonction BDMOYENNE

Ton tableau de bord laisse chaque responsable taper la ville qu'il veut suivre dans une cellule. Le jour où quelqu'un saisit une ville sans boutique, ou l'écrit de travers, ta moyenne se change en #DIV/0! et l'erreur se propage à tous les calculs posés dessus. La fonction BDMOYENNE ne peut rien moyenner quand aucune ligne ne correspond, donc c'est à toi de prévoir le message.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris le calcul à surveiller et referme-le, BDMOYENNE(A1:C6; "Panier moyen"; E1:E2). La plage inclut la ligne d'en-têtes, et la zone de critères E1:E2 porte l'en-tête Ville en E1 puis, en E2, la ville que tes collègues remplissent librement. C'est précisément cette liberté qui rend l'erreur inévitable un jour ou l'autre.
  3. 3
    En 2ᵉ argument : écris le message à afficher quand le calcul échoue, "Aucune boutique". Les guillemets sont obligatoires pour qu'Excel affiche ce texte tel quel. Il ne remplace la moyenne que si la fonction BDMOYENNE échoue, donc les villes qui ont bien une boutique gardent leur vraie moyenne.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(BDMOYENNE(A1:C6; "Panier moyen"; E1:E2); "Aucune boutique")
Explication
Aucune boutique n'est à Lille, donc la fonction BDMOYENNE n'a rien à moyenner et renvoie l'erreur #DIV/0!, puisqu'elle devrait diviser par zéro. SIERREUR intercepte cette erreur et affiche Aucune boutique à la place, ce qui évite qu'un tableau de bord entier vire au rouge parce qu'une ville a été mal orthographiée. Le réflexe vaut dès qu'une zone de critères est pilotée par une cellule libre.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les 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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreBDMOYENNEMOYENNEMOYENNE.SI.ENSBDMAX
Critères multiplesExterne (zone séparée)NonDans la formuleExterne (zone séparée)
Logique OU possibleOuiNonNonOui
Critères dynamiquesTrès facileNonAvec INDIRECTTrès facile
Simplicité d'usage⭐⭐⭐⭐⭐⭐⭐⭐⭐
Résultat calculéMoyenneMoyenneMoyenneMaximum
Meilleur usageRapports dynamiquesCalculs simplesCritères fixes ETValeur max filtrée
Le combo gagnant
Une seule zone de critères peut alimenter toute la famille en même temps : BDMOYENNE pour la moyenne, BDMAX et BDMIN pour les extrêmes, BDNB pour le compte. Tu changes un filtre à un seul endroit et tous tes indicateurs se recalculent sur exactement le même sous-ensemble.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec BDMOYENNE

1Astuce

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.

2Astuce

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.

3Astuce

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.

FAQ

Questions fréquentes

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.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction BDMOYENNE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir