Aller au contenu principal

Qu'est-ce que la fonction BDVARP ?

Définition
La fonction BDVARP calcule la variance de population d'une colonne 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 (et non n-1).

BDVARP (DVARP en anglais) te sert quand tu dois chiffrer la dispersion d'un sous-ensemble filtré de ta base, sans en extraire les lignes à part ni recalculer une variance à la main à chaque changement de critère.

Concrètement, c'est elle qui mesure la dispersion de tes prix dans une catégorie de catalogue complète, la variabilité des délais de livraison d'une région sur un mois entier, ou les fluctuations des dépenses d'un département sur une année. Dès que tu veux filtrer une base de données structurée pour analyser la dispersion d'une population complète, BDVARP est la fonction adaptée.

Syntaxe

Clique sur un argument pour aller à son explication.

BDVARP divise par n (nombre total de valeurs filtrées), ce qui convient uniquement quand tu as TOUTES les données de ta population. Si tu analyses un échantillon représentatif, utilise BDVAR qui divise par n-1 pour une estimation non biaisée.

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

Comprendre chaque paramètre de la fonction BDVARP

Les trois arguments s'enchaînent toujours dans le même ordre : d'abord ta base de données avec ses en-têtes, puis la colonne dont tu veux la variance, enfin la zone de critères qui filtre les lignes. Aucun n'est facultatif.

Le piège à éviter dès le départ : ta zone de critères doit reprendre EXACTEMENT les en-têtes de ta base (orthographe, accents, espaces), sinon le filtre ne retient rien. Et place-la au-dessus ou à côté de la base, jamais en dessous, pour ne pas l'écraser en ajoutant des lignes.

1

base_de_données

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

Par exemple, si tes données vont de A1 à D50, ta plage doit être A1:D50 avec A1:D1 comme ligne d'en-têtes.

Si tu ajoutes régulièrement des données, utilise une plage large (comme A1:D1000) pour ne pas avoir à modifier ta formule à chaque fois. Les lignes vides en bas seront automatiquement ignorées par Excel. Les en-têtes doivent être du texte simple, pas des formules, et chaque colonne doit avoir un en-tête unique non vide.

2

champ

: indique la colonne sur laquelle calculer la variance

Tu peux utiliser soit le nom de l'en-tête entre guillemets (comme "Prix" ou "Délai"), soit le numéro de colonne (1 pour la première colonne, 2 pour la deuxième, etc.).

Utilise toujours le nom de colonne entre guillemets : c'est plus lisible et plus robuste si tu insères ou supprimes une colonne. Si tu écris "Chiffre d'affaires", tu sauras immédiatement ce que calcule ta formule dans 6 mois.

Attention : Le champ spécifié doit contenir des valeurs numériques. Si ton champ contient du texte ou des cellules vides, ces valeurs seront ignorées dans le calcul. Si toutes les valeurs filtrées sont non numériques, BDVARP retourne #VALEUR!.

3

critères

: une petite zone séparée de ton tableau qui définit quelles données filtrer

La première ligne contient les en-têtes (identiques à ceux de ta base), la deuxième ligne et les suivantes contiennent les critères de filtrage.

Par exemple, pour analyser uniquement les ventes de la région Nord, ta zone critères ressemble à : F1 = Région, F2 = Nord. Tu peux combiner plusieurs critères sur différentes colonnes (critères ET) ou sur la même colonne en lignes différentes (critères OU).

Le conseil du pro
Transforme ta base en tableau structuré avec Ctrl+T avant d'écrire ta formule. Quand tu ajoutes des lignes, la plage suit toute seule et ton BDVARP reste juste, sans que tu aies à retoucher les références de l'argument base_de_données.
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 d'une population entière avec la fonction BDVARP

Tes sept salariés de l'IT ne sont pas un échantillon tiré d'un effectif plus large, ils sont le service au complet, et la direction veut chiffrer la dispersion de leurs salaires pour préparer la prochaine grille. Tes quatorze salariés sont listés avec leur département et leur salaire, et le calcul ne doit porter que sur l'IT. La fonction BDVARP filtre le tableau via une zone de critères et rend la variance des lignes retenues en divisant par leur nombre exact.

Les étapes
  1. 1
    Dans une cellule, écris =BDVARP(.
  2. 2
    En 1er argument : sélectionne la base entière avec sa ligne d'en-têtes, A1:C15. La fonction a besoin des titres Employé, Département et Salaire pour retrouver une colonne à partir de son nom. Une plage démarrée à la première ligne de données la priverait de ce repère.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne à mesurer, "Salaire", orthographié exactement comme le titre de la colonne C. Les guillemets sont ce qui le distingue d'une référence de cellule. Seules les valeurs de cette colonne entrent ensuite dans le calcul de la dispersion.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères, E1:E2. Elle se prépare avant la formule, à l'écart de la base, avec l'en-tête Département recopié en E1 et la valeur IT juste en dessous en E2. Ce couple de cellules ne choisit pas seulement les lignes lues, il décide aussi de ce que le calcul traite comme la population entière.
  5. 5
    Ferme la parenthèse et appuie sur Entrée. Remplacer IT par un autre département en E2 suffit ensuite à relancer le calcul sur ce service, sans toucher à la formule.
Au final, ta formule devrait ressembler à ça :=BDVARP(A1:C15; "Salaire"; E1:E2)
Explication
La fonction retient les sept salaires de l'IT, mesure l'écart de chacun à leur moyenne (56 429 €), élève ces écarts au carré et divise par 7, l'effectif exact. Le nombre 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 distinguer le 0 de la fonction BDVARP de l'erreur #DIV/0!

Ta zone de critères est pilotée par une liste déroulante et quelqu'un sélectionne la Direction, qui ne compte qu'une seule personne. La cellule affiche 0, un chiffre parfaitement crédible que personne ne relèvera en réunion, alors qu'il ne signifie pas des salaires homogènes mais une seule ligne à mesurer. Un service absent du tableau, lui, renverrait une erreur bien visible : deux situations à séparer avant de publier quoi que ce soit.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le test qui compte les lignes retenues et referme-le, BDNB(A1:C6; "Salaire"; E1:E2)=0. La fonction BDNB applique la zone de critères E1:E2, préparée à l'écart de la base avec l'en-tête Département en E1 et le service choisi juste en dessous en E2. Comparer son résultat à zéro revient à demander si ce service apparaît quelque part dans le tableau.
  3. 3
    En 2ᵉ argument : écris le message affiché quand le filtre ne retient rien, "Aucun salarié dans ce service". Il prend la place du #DIV/0! que la fonction BDVARP renverrait sur une sélection vide. Une phrase en clair dit à celui qui lit la cellule qu'il n'y a rien à mesurer, là où un code d'erreur le laisse chercher la panne.
  4. 4
    En 3ᵉ argument : écris le second test avec ses deux issues et referme-le, SI(BDNB(A1:C6; "Salaire"; E1:E2)=1; "Un seul salarié : dispersion nulle"; BDVARP(A1:C6; "Salaire"; E1:E2)). Ce SI intercepte l'effectif réduit à une personne, qui est la situation où la fonction BDVARP rend un chiffre au lieu d'une erreur. La fonction BDVARP occupe la dernière branche et ne calcule donc qu'à partir de deux salaires, avec les trois arguments déjà écrits pour BDNB au-dessus.
  5. 5
    Ferme la parenthèse du premier SI et appuie sur Entrée. Celle du second SI et celle de la fonction BDVARP ont déjà été refermées à l'étape précédente.
Voici la formule que tu obtiens à la fin :=SI(BDNB(A1:C6; "Salaire"; E1:E2)=0; "Aucun salarié dans ce service"; SI(BDNB(A1:C6; "Salaire"; E1:E2)=1; "Un seul salarié : dispersion nulle"; BDVARP(A1:C6; "Salaire"; E1:E2)))
Explication
Un effectif d'une personne a une dispersion nulle par construction, donc la fonction BDVARP renvoie 0 sans broncher là où la version échantillon s'arrête sur #DIV/0!. BDNB compte les lignes retenues avant tout calcul : aucune ligne et le message d'absence s'affiche, une seule et la cellule dit pourquoi le zéro n'est pas une mesure. Le vrai danger n'était pas l'erreur, qui se voit, mais le zéro, qui se lit comme un résultat.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction BDVARP

Deux messages reviennent quand BDVARP cale : #DIV/0! signifie que tes critères ne retiennent aucune ligne (ou une seule), car la variance exige au moins deux valeurs, et #VALEUR! vient d'un champ non numérique ou d'un nom de colonne mal orthographié entre guillemets.

Le danger le plus sournois ne renvoie aucune erreur : confondre BDVARP (population, divise par n) et BDVAR (échantillon, divise par n-1) te donne un chiffre faux mais d'apparence normale. Pense aussi que le résultat sort en unité au carré (euros², jours²), d'où l'intérêt de la racine carrée pour le rendre lisible.

Erreur #DIV/0! : aucune donnée ne correspond aux critères

Si ta zone de critères ne retourne aucune ligne de données, ou qu'une seule, BDVARP retourne #DIV/0!. La variance nécessite au moins 2 valeurs pour être calculée.

Solution : Vérifie que tes critères sont corrects et que l'en-tête de ta zone critères correspond exactement (orthographe, majuscules, espaces) à l'en-tête de ta base. Utilise BDNB avec les mêmes critères pour compter combien d'enregistrements correspondent avant d'appliquer BDVARP.

Erreur #VALEUR! : champ invalide ou non numérique

Cette erreur survient si le champ que tu analyses contient du texte au lieu de nombres, ou si le nom de champ entre guillemets est mal orthographié et n'existe pas dans ta base de données.

Solution : Vérifie que ta colonne de calcul contient bien des nombres. Si tu as des nombres stockés en texte (après un import CSV par exemple), convertis-les avec CNUM() ou en multipliant par 1. Vérifie aussi l'orthographe exacte du nom de champ entre guillemets (espaces, accents, majuscules).

Confusion entre BDVAR et BDVARP

C'est l'erreur la plus courante : utiliser BDVARP (population) quand on devrait utiliser BDVAR (échantillon), ou inversement. Cela donne des résultats incorrects sans message d'erreur, ce qui est particulièrement dangereux.

Solution : Pose-toi la question : "Est-ce que j'ai TOUTES les données de ma population ?" Si oui, BDVARP. Si non (tu travailles sur un échantillon), BDVAR. Tous les employés de l'entreprise = BDVARP. Cinquante employés sondés sur cinq cents = BDVAR.

Plage de base de données sans en-têtes

Si tu oublies d'inclure la ligne d'en-têtes dans ta plage base_de_données, Excel ne peut pas identifier les colonnes et la formule retourne une erreur ou un résultat incorrect.

Solution : Ta plage doit TOUJOURS commencer par la ligne d'en-têtes. Si tes données vont de A2 à D50, ta plage doit être A1:D50 (incluant A1:D1 comme en-têtes). Vérifie que chaque colonne a un en-tête unique et non vide.

Résultat difficile à interpréter (unité au carré)

La variance est exprimée en unité au carré (euros², jours², kg²), ce qui la rend difficile à interpréter intuitivement. Un résultat de 2 500 000 en variance de prix ne parle pas directement.

Solution : Calcule l'écart-type en prenant la racine carrée : =RACINE(BDVARP(...)). L'écart-type est dans la même unité que tes données (euros, jours, kg) et beaucoup plus facile à comprendre. Ou utilise directement BDECARTYPEP qui fait ce calcul automatiquement.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

BDVARP vs BDVAR vs BDECARTYPEP vs VAR.P

Utilise BDVARP quand tu as besoin de filtrer une base de données ET que tu analyses une population complète. Pour une interprétation plus directe, BDECARTYPEP retourne l'écart-type dans la même unité que tes données. Pour une simple variance sans filtrage, VAR.P est plus rapide.

CritèreBDVARPBDVARBDECARTYPEPVAR.P
Type de calculVariance populationVariance échantillonÉcart-type populationVariance population
Formule mathématiqueΣ(x-μ)² / nΣ(x-μ)² / (n-1)√[Σ(x-μ)² / n]Σ(x-μ)² / n
Filtrage par critères✅ Oui✅ Oui✅ Oui❌ Non
Unité du résultatUnité au carré (€²)Unité au carré (€²)Même unité (€)Unité au carré (€²)
Cas d'usage typiquePopulation filtrée (catalogue, historique)Échantillon filtré (sondage, test)Dispersion lisible sur populationVariance simple sans critère
FAQ

Questions fréquentes

BDVAR calcule la variance d'un échantillon (divise par n-1) tandis que BDVARP calcule la variance de la population entière (divise par n). Utilise BDVARP uniquement quand tu disposes de toutes les données de ta population, pas seulement d'un sous-ensemble représentatif. BDVARP donne toujours une variance légèrement plus faible que BDVAR pour les mêmes données, car n est supérieur à n-1.

Ressources

Pour aller plus loin

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

Tout voir