Aller au contenu principal

Qu'est-ce que la fonction BDVAR ?

Définition
La fonction BDVAR calcule la variance d'un échantillon dans une base de données Excel, uniquement pour les enregistrements qui correspondent aux critères définis dans une zone séparée. Elle divise par n-1 pour produire une estimation non biaisée.

BDVAR (DVAR en anglais) te sert quand tu veux mesurer la dispersion d'un sous-ensemble précis de ta base sans construire de tableau croisé ni retaper une formule VAR.S pour chaque filtre.

Concrètement, c'est elle qui mesure la volatilité des ventes d'une seule région, la dispersion des salaires d'un département, la variabilité des notes d'un groupe, ou la stabilité des défauts de production d'une ligne. Quand tu as besoin de comprendre si tes résultats sont homogènes ou très épars sur un sous-ensemble de données, BDVAR fait le calcul en une ligne.

Syntaxe

Clique sur un argument pour aller à son explication.

BDVAR divise par n-1 (variance d'échantillon), ce qui donne une estimation non biaisée de la variance de la population. Si tu as TOUTES les données de ta population, utilise BDVARP qui divise par n.

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

Comprendre chaque paramètre de la fonction BDVAR

Les trois arguments se lisent toujours dans le même ordre : d'abord ta plage de données entière (en-têtes compris), puis la colonne dont tu veux la variance, enfin la zone qui porte tes critères de filtrage. Aucun n'est facultatif, BDVAR refuse de travailler s'il en manque un.

Le champ du milieu accepte trois écritures : le nom entre guillemets comme "Ventes", le numéro de la colonne, ou une référence vers une cellule. Le nom entre guillemets reste juste même si tu insères une colonne plus tard, là où le numéro, lui, se décale en silence.

1

base_de_données

: la plage complète de ta base de données, incluant les en-têtes de colonnes en première ligne

Par exemple A1:E100 si ta base couvre les colonnes A à E sur 100 lignes. La première ligne doit absolument contenir les noms des colonnes (Vendeur, Région, Ventes, etc.).

Excel utilise ces en-têtes pour identifier les champs lors du filtrage. Assure-toi que ta base est continue, sans ligne vide au milieu, et que chaque colonne a un en-tête unique.

2

champ

: le champ (colonne) sur lequel tu veux calculer la variance

Tu peux l'indiquer de trois façons : le nom entre guillemets comme "Ventes", la position de la colonne comme 3 (pour la 3e colonne), ou une référence de cellule contenant le nom du champ.

Le nom entre guillemets est plus lisible et plus robuste : si tu insères une colonne, le numéro devient faux mais le nom reste juste.

3

critères

: une plage séparée contenant les critères de filtrage

Elle doit inclure au moins un en-tête de colonne (identique à celui de ta base) et les valeurs à filtrer en dessous. Par exemple, G1:G2 où G1 contient "Région" et G2 contient "Nord".

Tu peux avoir plusieurs colonnes de critères pour des filtres complexes : plusieurs critères sur la même ligne = ET logique ; plusieurs lignes = OU logique. Place toujours ta zone de critères à côté de ta base, jamais en dessous (pour éviter d'être écrasée quand tu ajoutes des lignes).

Attention : BDVAR a besoin d'au moins 2 valeurs pour calculer une variance. Si tes critères ne sélectionnent qu'une seule ligne, la formule retourne #DIV/0!. Utilise BDNB pour vérifier combien de lignes correspondent avant d'appliquer BDVAR.

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

Exemples pratiques pas à pas

Exemple 1

Comment calculer la variance selon un critère avec la fonction BDVAR

La revue annuelle des salaires arrive et la question posée n'est pas le montant moyen mais l'écart entre les gens : le service IT est-il payé de façon homogène, ou y a-t-il de vrais fossés d'un poste à l'autre ? Tes quatorze salariés sont listés avec leur département et leur salaire, et tu veux mesurer cette dispersion sur le seul IT. La fonction BDVAR lit une zone de critères posée à côté du tableau et calcule la variance des seules lignes qui y répondent.

Les étapes
  1. 1
    Dans une cellule, écris =BDVAR(.
  2. 2
    En 1er argument : sélectionne la base de données entière, A1:C15. La ligne des en-têtes fait partie de la sélection, car la fonction s'appuie sur les titres Employé, Département et Salaire pour savoir quelle colonne porte quel nom.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne dont tu veux la dispersion, "Salaire". Il s'écrit entre guillemets et reprend l'en-tête de la colonne C au caractère près. Tu pourrais aussi saisir le rang de cette colonne dans la base, 3, mais ce numéro deviendrait faux le jour où tu insères une colonne avant elle.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères posée à côté du tableau, E1:E2. Tu y recopies l'en-tête Département en E1 et la valeur IT en E2, de sorte que la fonction ne garde que les lignes de ce service. Écris Ventes en E2 et la dispersion de l'autre service s'affiche aussitôt, sans rien changer à la formule.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=BDVAR(A1:C15; "Salaire"; E1:E2)
Explication
La fonction lit la zone de critères, ne garde que les sept salaires de l'IT, calcule leur moyenne (56 429 €) puis mesure à quel point chacun s'en écarte, avant de diviser par 6, soit n moins 1 (la règle de l'échantillon). Le résultat paraît démesuré parce qu'il s'exprime en euros au carré : c'est la nature même d'une variance, pas une anomalie de ton tableau.
Exemple 2

Comment éviter l'erreur #DIV/0! de la fonction BDVAR sur un échantillon trop petit

Tu compares l'homogénéité des salaires département par département, et ta zone de critères est pilotée par une liste déroulante. Le jour où quelqu'un choisit la Direction, qui ne compte qu'une seule personne, ta cellule affiche #DIV/0! et l'erreur contamine tout le tableau posé autour. La fonction BDVAR a besoin d'au moins deux valeurs pour mesurer un écart, donc il faut compter avant de calculer.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le comptage qui sert de garde-fou, BDNB(A1:C6; "Salaire"; E1:E2)>1. La zone de critères E1:E2 est posée à côté du tableau, avec l'en-tête Département recopié en E1 et le département voulu en E2. Le seuil de comparaison est 1 et non 0, car il faut au moins deux salaires pour qu'un écart existe.
  3. 3
    En 2ᵉ argument : écris le calcul à ne lancer que si le test passe, BDVAR(A1:C6; "Salaire"; E1:E2). La fonction BDVAR reprend les trois mêmes arguments que la fonction BDNB et aux mêmes places, donc tu peux recopier celle de l'étape précédente et n'en changer que le nom.
  4. 4
    En 3ᵉ argument : écris le message à afficher quand le test échoue, "Échantillon trop petit". Ce texte remplace le #DIV/0! qui serait sorti sans garde-fou, et il dit au lecteur pourquoi la case ne porte pas de chiffre.
  5. 5
    Ferme la parenthèse et appuie sur Entrée. Les deux fonctions imbriquées ont déjà été refermées dans leurs étapes respectives, et il ne reste que celle de la fonction SI.
Voici la formule que tu obtiens à la fin :=SI(BDNB(A1:C6; "Salaire"; E1:E2)>1; BDVAR(A1:C6; "Salaire"; E1:E2); "Échantillon trop petit")
Explication
Une seule personne à la Direction, donc rien à disperser : la fonction BDVAR renverrait #DIV/0!, puisqu'elle divise par n moins 1 et que n moins 1 vaut zéro ici. BDNB compte d'abord les lignes retenues et le SI ne déclenche le calcul que s'il y en a au moins deux. La Direction affiche un message clair, et les départements plus fournis gardent leur variance.
Exemple 3

Comment convertir la variance en écart-type avec la fonction BDVAR

Tu dois présenter la dispersion des salaires de l'IT à des gens qui ne feront pas l'effort de décoder un nombre à huit chiffres. Tes salariés sont listés avec leur département et leur salaire, et tu veux un chiffre qui se dit en une phrase, en euros. La fonction BDVAR calcule bien la dispersion, mais elle la rend en euros au carré, donc il reste une opération à faire pour la rendre présentable.

Les étapes
  1. 1
    Dans une cellule, écris =RACINE(.
  2. 2
    En 1er argument : écris la variance à ramener dans son unité de départ et referme-la, BDVAR(A1:C7; "Salaire"; E1:E2). La fonction BDVAR reçoit la base A1:C7 en-têtes comprises, le nom de la colonne à mesurer entre guillemets, puis la zone de critères E1:E2 où l'en-tête Département est recopié en E1 et la valeur IT en E2. Elle retient ainsi les quatre salaires du service et rend leur variance, exprimée en euros au carré.
  3. 3
    Ferme la parenthèse de la fonction RACINE et appuie sur Entrée. Celle de la fonction BDVAR a déjà été refermée à l'étape précédente, ce qui explique les deux parenthèses de suite à la fin de la formule.
Une fois les morceaux assemblés, ta formule donne ça :=RACINE(BDVAR(A1:C7; "Salaire"; E1:E2))
Explication
La fonction BDVAR renvoie d'abord 15 000 000, une variance en euros au carré que personne ne sait interpréter à voix haute. RACINE la ramène dans l'unité de départ et donne 3 873 €, l'écart-type : les salaires de l'IT gravitent à environ 3 873 € autour de leur moyenne de 56 500 €. Le calcul reste rigoureusement le même, seule la lecture change.
Le savais-tu ?
La variance sort toujours en unité au carré (euros carrés, jours carrés), ce qui la rend peu parlante telle quelle. Prends-en la racine avec RACINE(BDVAR(...)) et tu retrouves un écart-type dans l'unité d'origine, tout de suite plus lisible.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction BDVAR

Trois plantages reviennent avec BDVAR, et ils ont chacun une cause nette. Le #DIV/0! tombe dès que tes critères ne ramènent qu'une seule valeur (ou zéro) : sans au moins deux points, il n'y a pas de dispersion à mesurer. Lance un BDNB avec les mêmes critères pour compter ce que tu attrapes vraiment.

Viennent ensuite les en-têtes de critères qui ne collent pas au caractère près à ceux de la base ("Région", "région" et "Région " sont trois choses différentes pour Excel), et la confusion avec BDVARP qui divise par n au lieu de n-1 et sous-estime ta vraie variance.

Erreur #DIV/0! : moins de 2 valeurs sélectionnées

BDVAR retourne #DIV/0! quand tes critères ne trouvent qu'une seule valeur (ou zéro). La variance nécessite au moins 2 points de données pour être calculée. Avec une seule valeur, il n'y a pas de dispersion mesurable.

Solution : Vérifie que tes critères sélectionnent bien plusieurs enregistrements. Utilise =BDNB(base;champ;critères) pour compter combien de valeurs correspondent avant d'appliquer BDVAR. Si le résultat est inférieur à 2, tes critères sont trop restrictifs.

Les en-têtes de critères ne correspondent pas

Si l'en-tête dans ta zone de critères ne correspond pas exactement (même casse, mêmes espaces) à celui de ta base de données, BDVAR ne trouve aucune donnée et retourne une erreur.

Solution : Copie-colle les en-têtes de ta base vers ta zone de critères pour éviter les fautes de frappe. "Région" est différent de "région" et de "Région " (avec un espace après).

Confusion entre BDVAR et BDVARP

BDVAR calcule la variance d'un échantillon (divise par n-1), BDVARP calcule la variance de la population entière (divise par n). Utiliser BDVARP sur un échantillon sous-estime la vraie variance de la population.

Solution : Dans 95% des cas, utilise BDVAR (échantillon). Utilise BDVARP uniquement si tu as réellement TOUTES les données de ta population, par exemple tous les employés de l'entreprise, et pas un échantillon représentatif.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

BDVAR vs BDVARP vs BDECART.TYPE vs BDMOYENNE

Utilise BDVAR pour mesurer la dispersion d'un échantillon filtré. Pour une population complète, BDVARP. Pour un résultat plus intuitif dans la même unité que tes données, préfère BDECART.TYPE (racine carrée de BDVAR). Combine BDVAR et BDMOYENNE pour avoir dispersion + tendance centrale.

CritèreBDVARBDVARPBDECART.TYPEBDMOYENNE
Mesure calculéeVariance (unité²)Variance (unité²)Écart-type (unité)Moyenne (unité)
Formule mathématiqueΣ(x-μ)² / (n-1)Σ(x-μ)² / n√[Σ(x-μ)² / (n-1)]Σx / n
Filtrage par critères✅ Oui✅ Oui✅ Oui✅ Oui
Facile à interpréter⭐⭐ (unité²)⭐⭐ (unité²)⭐⭐⭐ (même unité)⭐⭐⭐ (même unité)
Cas d'usage typiqueDispersion d'un échantillonDispersion d'une populationVolatilité lisibleTendance centrale
FAQ

Questions fréquentes

BDVAR calcule la variance d'un échantillon (divise par n-1), ce qui donne une estimation non biaisée de la variance de la population. BDVARP calcule la variance de la population entière (divise par n). Utilise BDVAR quand tu analyses un sous-ensemble représentatif de ta population (sondage, échantillon). Utilise BDVARP seulement si tu disposes de toutes les données de ta population sans exception.

Ressources

Pour aller plus loin

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

Tout voir