🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonctions de base de données Excel — DAVERAGE, DMAX, DMIN et la maîtrise de la plage de critères

|

Fonctions de base de données Excel — DAVERAGE, DMAX, DMIN et la maîtrise de la plage de critères

L'essentiel — Les fonctions de base de données d'Excel partagent toutes une signatureDxxx(database, field, criteria) — et une compétence : la plage de critères. Changez l'agrégation et vous changez de fonction : DAVERAGE pour la moyenne des lignes correspondantes, DMAX/DMIN pour la plus grande/la plus petite, DPRODUCT, DSTDEV, DVAR pour le reste. Maîtrisez le bloc de critères une bonne fois et les douze tombent d'elles-mêmes. Les règles qui comptent : le ET est sur une ligne, le OU descend les lignes ; une plage sur un seul champ (100–500) réclame cet en-tête deux fois ; les critères sous forme de formule exigent un en-tête vide ou différent de ceux des données ; et le texte correspond depuis le début par défaut (North attrape aussi Northwest). Réussissez le bloc de critères et les fonctions D deviennent la façon la plus traçable de poser une question complexe et multicritère. Fonctionne dans toutes les versions d'Excel.

=DAVERAGE(A1:E200, "Amount", H1:I2)   ' moyenne de Amount des lignes correspondantes
=DMAX(A1:E200, "Amount", H1:H2)       ' le plus grand Amount correspondant
=DMIN(A1:E200, "Amount", H1:H2)       ' le plus petit Amount correspondant

Prises séparément, DSUM et DGET ressemblent à des curiosités isolées. Vues ensemble, les fonctions de base de données forment une famille bâtie sur une seule idée — vous écrivez votre requête sous forme de table sur la feuille — et cette idée recèle des profondeurs que la plupart des tutoriels n'atteignent jamais. Ce guide est la masterclass de la plage de critères : réussissez ce bloc unique et chaque fonction D, de DAVERAGE à DVAR, fonctionne de la même façon.

Remarque : dans une interface Excel en français, ces fonctions s'appellent BDMOYENNE (DAVERAGE), BDMAX (DMAX), BDMIN (DMIN), BDSOMME (DSUM), BDNB (DCOUNT), BDNBVAL (DCOUNTA), BDLIRE (DGET), BDPRODUIT (DPRODUCT), BDECARTYPE (DSTDEV) et BDVAR (DVAR). Équivalents : SUMIFS = SOMME.SI.ENS, AVERAGEIFS = MOYENNE.SI.ENS, COUNTIFS = NB.SI.ENS, FILTER = FILTRE, AVERAGE = MOYENNE. Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.

Ce que vous allez apprendre

  • La famille au complet : une signature, douze agrégations
  • ET contre OU dans un bloc de critères — la règle qui commande tout
  • Pourquoi une plage sur un seul champ (≥100 et ≤500) réclame l'en-tête deux fois
  • Les critères sous forme de formule — la fonctionnalité la plus puissante, et ses deux règles strictes
  • Le piège du texte « commence par » qui sur-compte en silence
  • L'arbre de décision : fonctions D contre SUMIFS/AVERAGEIFS contre FILTER

Une signature, douze agrégations

Chaque fonction de base de données lit les mêmes trois arguments — un tableau (avec en-têtes), un champ et une plage de critères — et ne diffère que par la manière dont elle agrège les lignes correspondantes.

Fonction Renvoie, pour les lignes correspondantes…
DSUM le total du champ
DAVERAGE la moyenne (ignore les vides et le texte)
DCOUNT / DCOUNTA le compte des nombres / des cellules non vides
DMAX / DMIN la plus grande / la plus petite valeur
DGET la valeur unique (erreur s'il n'y en a pas exactement une)
DPRODUCT le produit des valeurs
DSTDEV / DSTDEVP l'écart-type d'un échantillon / d'une population
DVAR / DVARP la variance d'un échantillon / d'une population

DAVERAGE est la plus honnête à retenir : elle ne fait la moyenne que des cellules numériques des lignes correspondantes, si bien que les vides ne tirent pas la moyenne vers zéro comme un SUM/COUNT fait à la main peut le faire. Apprenez la plage de critères ci-dessous et vous pourrez piloter n'importe quelle ligne de ce tableau.

Le ET à l'horizontale, le OU à la verticale — la règle derrière tout

La plage de critères est une petite table : une ligne d'en-têtes, puis des lignes de conditions. La géométrie est la logique.

' ET — même ligne : région West ET Amount supérieur à 1000
'   H1: Region    I1: Amount
'   H2: West      I2: >1000
=DAVERAGE(A1:E200, "Amount", H1:I2)

' OU — lignes distinctes : West OU East
'   H1: Region
'   H2: West
'   H3: East
=DAVERAGE(A1:E200, "Amount", H1:H3)

' ET + OU ensemble : (West ET >1000) OU (East ET >2000)
'   H1: Region    I1: Amount
'   H2: West      I2: >1000
'   H3: East      I3: >2000
=DAVERAGE(A1:E200, "Amount", H1:I3)

Ce dernier bloc est là où les fonctions D justifient leur existence : exprimer (West et plus de 1000) ou (East et plus de 2000) avec SUMIFS suppose d'imbriquer des matrices ; ici, ce sont quatre cellules qu'un relecteur lit en deux secondes. Les lignes sont des OU, les colonnes des ET — une fois ce réflexe acquis, des conditions arbitrairement complexes ne sont qu'un bloc plus grand.

Une plage sur un seul champ réclame l'en-tête deux fois

Voici le piège qui bloque net : borner une seule colonne entre deux valeurs. L'instinct est d'écrire >=100 et <=500 dans une même cellule. Ça ne peut pas marcher — une cellule ne porte qu'une condition. Deux conditions sur le même champ exigent que l'en-tête apparaisse dans deux colonnes :

' Amount entre 100 et 500 (bornes incluses) :
'   H1: Amount    I1: Amount     <- le MÊME en-tête, deux fois
'   H2: >=100     I2: <=500
=DSUM(A1:E200, "Amount", H1:I2)

Les deux sont sur une même ligne, donc reliées par un ET — Amount >= 100 ET Amount <= 500. Répéter un en-tête paraît étrange, mais c'est là tout le mécanisme : chaque colonne de critère porte une comparaison, et un test d'intervalle, c'est deux comparaisons sur le même champ.

Les critères sous forme de formule : la fonctionnalité-force et ses deux règles strictes

Les critères ne sont pas forcément des constantes. Un critère peut être une formule qui renvoie VRAI/FAUX pour chaque ligne — « au-dessus de la moyenne générale », « dans le quartile supérieur », « plus long que son voisin ». C'est la chose la plus puissante que fait la famille D, et elle échoue à l'instant si vous enfreignez l'une ou l'autre de ses deux règles.

' Somme de Amount pour les lignes AU-DESSUS de la moyenne de Amount :
'   H1: (vide ou une étiquette qui N'EST PAS un vrai en-tête, p. ex. "AboveAvg")
'   H2: =E2>AVERAGE($E$2:$E$200)
=DSUM(A1:E200, "Amount", H1:H2)
  • Règle 1 — l'en-tête de critère doit être vide ou différent de tous les en-têtes de données. Si vous étiquetez la cellule de formule Amount, Excel la traite comme un critère normal sur la colonne Amount et votre formule casse. Les critères sous forme de formule réclament un en-tête qui n'est pas l'un des en-têtes du tableau (ou qui est vide).
  • Règle 2 — référencez la première ligne de données avec une référence relative. Écrivez E2 (la première ligne de données), pas E:E ni $E2. Excel fait dérouler la formule ligne après ligne en interne ; c'est une référence relative à la première ligne qui le permet. Gardez la plage de comparaison absolue ($E$2:$E$200) pour que AVERAGE voie toute la colonne.

Enfreignez la règle 1 et vous obtenez une mauvaise réponse sans erreur ; enfreignez la règle 2 et le test s'évalue sur la mauvaise ligne. Respectez les deux et vous disposez de critères vivants et calculés qu'aucune autre fonction d'agrégation conditionnelle n'offre aussi proprement.

Le piège du « commence par » (et les jokers)

Les critères de texte dans les fonctions D sont du « commence par », pas du « égale ». Un critère North correspond aussi bien à North, Northwest et Northern — une sur-correspondance silencieuse qui gonfle les totaux et les comptages.

'   H2: North      correspond à North, Northwest, Northern...  (commence par !)
'   H2: ="=North"  correspond UNIQUEMENT à « North » exactement
'   H2: Jo*        joker : Jones, Johnson (n'importe quels caractères)
'   H2: ?at        joker : cat, bat, hat (un caractère + « at »)

Pour forcer une correspondance exacte, enveloppez-la en ="=North". * (n'importe quel nombre de caractères), ? (exactement un) et ~ (échapper un */? littéral) fonctionnent comme d'habitude. Quand un DSUM ou un DCOUNT affiche un résultat légèrement trop haut, le « commence par » par défaut est le premier suspect — juste après une faute de frappe d'en-tête qui, elle, donne un résultat trop bas.

L'arbre de décision : fonctions D contre SUMIFS contre FILTER

Trois outils répondent désormais à « agrège les lignes qui correspondent ». Bien choisir :

  • SUMIFS / AVERAGEIFS / COUNTIFS — votre choix par défaut. Les conditions dans la formule, rien de plus sur la feuille, facile à recopier le long d'une colonne, rapide à grande échelle. Idéal quand les conditions sont une simple logique ET et ne changeront pas souvent.
  • Les fonctions de base de données — quand la question doit vivre sur la feuille : branches OU complexes, critères sous forme de formule, un bloc de critères que des collègues modifieront, ou une piste d'audit où une requête visible l'emporte sur une formule imbriquée. Verbeuses, mais d'une lisibilité unique, et les seules à offrir la garantie d'unicité de DGET.
  • FILTER + agrégation — quand vous voulez les lignes correspondantes elles-mêmes, pas juste un nombre, ou quand la logique s'exprime plus naturellement comme une matrice booléenne : =SUM(FILTER(Amount, (Region="West")*(Amount>1000))). La méthode moderne à matrices dynamiques, souvent la plus souple — mais elle exige Excel 365.

Le résumé honnête : les fonctions D sont héritées mais pas obsolètes. Pour une formule répétable qu'on tire le long d'une colonne, utilisez SUMIFS. Pour des extractions en direct sur 365, utilisez FILTER. Mais pour une question ponctuelle, multicritère et lisible par un relecteur sur n'importe quelle version d'Excel — une question que vous voulez voir sur la feuille — un bloc de critères et une fonction D restent l'outil le plus clair dont dispose Excel.

Comment ExcelMaster aide

La plage de critères est aussi puissante que capricieuse — la règle de l'en-tête en double pour les intervalles, la règle de l'en-tête vide pour les critères sous forme de formule, le « commence par » par défaut. Décrivez la question en langage courant — « la valeur moyenne des commandes de l'Ouest ou de l'Est supérieures à la moyenne générale » — et ExcelMaster construit correctement le bloc de critères : des en-têtes accordés à vos données, le ET et le OU disposés dans la bonne géométrie, les critères sous forme de formule avec la référence relative à la première ligne, et le =DAVERAGE(...) qui pointe dessus. Il lit aussi une fonction D existante et vous dit pourquoi le nombre semble faux — une faute de frappe d'en-tête, une ligne vide égarée, ou une sur-correspondance « commence par ».

Questions fréquentes

Quelles sont les fonctions de base de données dans Excel ?

C'est une famille de douze fonctions — DSUM, DAVERAGE, DCOUNT, DCOUNTA, DGET, DMAX, DMIN, DPRODUCT, DSTDEV, DSTDEVP, DVAR, DVARP — qui agrègent les lignes d'un tableau correspondant à une plage de critères. Toutes partagent la signature Dxxx(database, field, criteria) ; elles ne diffèrent que par l'agrégation. La plage de critères — un bloc d'en-têtes et de conditions sur la feuille — est le concept qui les unifie.

Comment créer une plage de critères avec ET et OU ?

Les conditions d'une même ligne sont reliées par un ET ; les conditions de lignes distinctes sont reliées par un OU. La ligne supérieure du bloc porte les en-têtes copiés exactement depuis vos données ; les lignes en dessous portent des conditions comme West, >1000 ou >=100. Dimensionnez l'argument de critères pour couvrir chaque cellule d'en-tête et de condition que vous utilisez.

Comment filtrer une fonction de base de données entre deux nombres ?

Placez l'en-tête du champ dans deux colonnes et une comparaison dans chacune, sur la même ligne : en-tête Amount en H1 et I1, >=100 en H2 et <=500 en I2. Les deux étant sur une même ligne, elles sont reliées par un ET en « entre 100 et 500 ».

Puis-je utiliser une formule comme critère ?

Oui. Utilisez une cellule d'en-tête vide ou différente de tout en-tête réel des données, et une formule qui référence la première ligne de données de façon relative — p. ex. =E2>AVERAGE($E$2:$E$200) pour faire correspondre les lignes au-dessus de la moyenne. C'est un en-tête vide/différent qui indique à Excel qu'il s'agit d'un critère sous forme de formule et non d'une correspondance d'étiquette.

Les fonctions de base de données sont-elles obsolètes maintenant que nous avons SUMIFS et FILTER ?

Non obsolètes, mais spécialisées. Utilisez SUMIFS/AVERAGEIFS pour une agrégation conditionnelle simple et répétable, et FILTER (Excel 365) pour extraire les lignes correspondantes ou construire une logique booléenne. Les fonctions de base de données l'emportent encore pour la logique OU complexe, les critères sous forme de formule, le contrôle d'unicité de DGET, et les questions que vous voulez visibles et modifiables sur la feuille — et elles fonctionnent dans toutes les versions d'Excel.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 2026-07-20.

Guides associés : Excel DSUM et DCOUNT · Excel DGET · Excel SUMIFS · Excel AVERAGEIFS · Excel FILTER