Aller au contenu principal

Qu'est-ce que la fonction BDMIN ?

Définition
La fonction BDMIN retourne la valeur minimale d'une colonne dans une base de données Excel, uniquement pour les lignes qui correspondent aux critères définis dans une zone séparée.

BDMIN (DMIN en anglais) te sert quand ton minimum doit porter sur une portion précise d'un tableau volumineux, une région, un service ou une catégorie, sans avoir à trier ni filtrer ta base à la main avant de chercher la plus petite valeur. Tu la sors dès que MIN seule ramène un résultat qui mélange tout, alors que tu veux la réponse pour un sous-ensemble bien défini.

Concrètement, c'est elle qui te donne le prix le plus bas qu'un fournisseur t'a proposé, le stock le plus faible dans une catégorie donnée, la date d'embauche la plus récente d'un département, ou la dépense la plus petite d'un mois pour une catégorie précise. Et quand les critères deviennent complexes, avec des OU logiques que MIN.SI.ENS ne sait pas gérer, BDMIN reste souveraine.

Syntaxe

Clique sur un argument pour aller à son explication.

La zone de critères doit toujours comporter au moins deux lignes : la première avec les noms de colonnes (identiques aux en-têtes de ta base), la deuxième avec les valeurs recherchées. Si elle n'a pas d'en-tête, BDMIN renvoie une erreur.

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

Comprendre chaque paramètre de la fonction BDMIN

Les trois arguments s'enchaînent toujours dans le même ordre : d'abord la base entière (en-têtes compris), puis la colonne où chercher le plus petit, enfin la zone de critères. Aucun n'est facultatif. C'est ce troisième argument qui fait toute la différence : selon que tu empiles tes conditions sur la même ligne ou sur des lignes séparées, tu passes d'un ET à un OU.

1

base_de_données

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

Par exemple A1:D100 si ta base couvre les colonnes A à D sur 100 lignes. Les en-têtes sont indispensables car BDMIN les utilise pour identifier les colonnes.

Excel teste chaque ligne de cette plage (sauf la ligne d'en-têtes) et ne retient que celles qui correspondent aux critères. Assure-toi que ta base est continue, sans ligne vide au milieu.

2

champ

: le nom ou le numéro de la colonne dans laquelle BDMIN cherche le minimum

Tu peux écrire "Prix" entre guillemets (le nom exact de l'en-tête, insensible à la casse) ou utiliser un numéro comme 3 pour désigner la 3e colonne de ta base.

Le nom en texte 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 zone séparée de ton tableau qui contient les conditions de filtrage

Elle doit avoir au minimum deux lignes : la première avec les noms des colonnes concernées (identiques aux en-têtes de ta base), la seconde avec les valeurs recherchées. Par exemple F1:F2 où F1 contient "Fournisseur" et F2 contient "TechSupply".

Tu peux avoir plusieurs colonnes dans cette zone pour des critères ET (sur la même ligne) ou plusieurs lignes pour des critères OU (lignes différentes). C'est toute la puissance de BDMIN par rapport aux autres fonctions de minimum.

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

Exemples pratiques pas à pas

Exemple 1

Comment trouver le minimum d'une colonne selon un critère avec la fonction BDMIN

Ton point d'équipe du lundi porte sur la région Nord et tu veux ouvrir sur le chiffre le plus bas, celui qu'il va falloir faire remonter. Tes quatorze vendeurs sont listés avec leur région et le montant qu'ils ont réalisé, et tu cherches la plus petite vente du Nord sans trier la colonne ni la lire ligne à ligne. La fonction BDMIN lit une zone de critères posée à côté du tableau et remonte d'un coup la plus basse valeur qui y répond.

Les étapes
  1. 1
    Dans une cellule, écris =BDMIN(.
  2. 2
    En 1er argument : sélectionne le tableau entier, ligne d'en-têtes comprise, A1:C15. Les titres Vendeur, Région et Ventes doivent rester dans la plage, car c'est par eux que la fonction BDMIN sait quelle colonne porte quel nom. Une sélection qui démarre en A2 la prive de cette information.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne où chercher le plus petit montant, "Ventes". Ce nom doit reprendre l'en-tête de la colonne C au caractère près. Les guillemets sont là pour que la fonction le lise comme un titre de colonne et non comme le nom d'une cellule.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères posée à côté du tableau, E1:E2. Ces deux cellules se préparent avant d'écrire la formule, avec l'en-tête Région recopié en E1 et la valeur Nord écrite juste en dessous. C'est ce bloc qui écarte les lignes des autres régions avant la moindre comparaison.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=BDMIN(A1:C15; "Ventes"; E1:E2)
Explication
La fonction lit la zone de critères, écarte les régions autres que le Nord, puis compare les six montants restants (15 000, 22 000, 28 000, 25 000, 20 000 et 18 000 €) et garde le plus bas : 15 000 €. Les 12 000 € de Lucas Petit sont pourtant le plus petit chiffre de tout le tableau, mais il travaille sur l'Est, donc la zone de critères l'écarte avant même que la comparaison commence.
Exemple 2

Comment trouver la date la plus ancienne selon un critère avec la fonction BDMIN

Tu prépares la remise des médailles du travail et il te faut, service par service, la personne entrée le plus tôt dans la maison. Ton tableau liste chaque salarié avec son service et sa date d'embauche, dans l'ordre où les contrats ont été saisis, donc pas du tout dans l'ordre chronologique. La fonction BDMIN travaille aussi bien sur des dates que sur des montants, parce qu'Excel range les dates comme des nombres.

Les étapes
  1. 1
    Dans une cellule, écris =BDMIN(.
  2. 2
    En 1er argument : sélectionne la base à fouiller avec sa ligne de titres, A1:C7. Les six salariés occupent les lignes 2 à 7, et la ligne 1 porte les en-têtes Salarié, Service et Date embauche dont la fonction BDMIN a besoin pour reconnaître les colonnes.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne à examiner, "Date embauche". Rien n'oblige cette colonne à contenir des montants, puisqu'une colonne de dates convient tout aussi bien. L'en-tête comporte un espace, et c'est cette écriture exacte, espace compris, que la fonction attend entre les guillemets.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères, E1:E2, où tu as recopié l'en-tête Service en E1 et écrit Atelier juste en dessous. Le filtre porte ainsi sur une colonne pendant que la recherche du minimum porte sur une autre. Il te suffira d'écrire Logistique en E2 pour obtenir la réponse du service suivant.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=BDMIN(A1:C7; "Date embauche"; E1:E2)
Explication
Pour Excel, une date n'est qu'un nombre, donc la plus ancienne est aussi la plus petite : la fonction BDMIN ne retient que les trois salariés de l'atelier, compare leurs dates et renvoie le 24/01/2017, celle de Sonia Vasseur. La cellule de résultat affiche d'abord un nombre à cinq chiffres, et c'est normal : passe-la au format Date avec Ctrl+1 pour retrouver une date lisible.
Exemple 3

Comment trouver le plus petit prix hors zéro avec la fonction BDMIN

L'appel d'offres est clos et on attend de toi le meilleur prix obtenu sur la pièce. Ton tableau aligne chaque fournisseur avec son prix, sauf que deux d'entre eux n'ont pas chiffré et que leur case est restée à zéro, ce qui suffirait à te faire annoncer n'importe quoi. La fonction BDMIN accepte un opérateur de comparaison directement dans la zone de critères, ce qui te permet d'ignorer ces zéros sans toucher au tableau.

Les étapes
  1. 1
    Dans une cellule, écris =BDMIN(.
  2. 2
    En 1er argument : sélectionne la base entière, en-têtes compris, A1:B7. Deux colonnes suffisent ici, car la fonction BDMIN n'en exige pas davantage tant que la ligne 1 nomme Fournisseur et Prix unitaire.
  3. 3
    En 2ᵉ argument : écris le nom de la colonne où chercher le prix le plus bas, "Prix unitaire". C'est aussi elle qui va servir de filtre à l'argument suivant, et ce doublon est parfaitement légal.
  4. 4
    En 3ᵉ argument : sélectionne la zone de critères, D1:D2, avec l'en-tête Prix unitaire recopié en D1 et la condition >0 écrite en D2. Une zone de critères accepte les opérateurs de comparaison aussi bien que les valeurs en dur, donc tu ajustes ton seuil en une frappe avec >=2 ou <10.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=BDMIN(A1:B7; "Prix unitaire"; D1:D2)
Explication
Un critère n'est pas forcément un nom : l'opérateur >0 écrit sous l'en-tête Prix unitaire écarte les deux fournisseurs restés à zéro, et la fonction BDMIN cherche le plus petit prix parmi les quatre offres qui restent, soit 3,60 €. Sans ce filtre, elle répondrait 0 €, un tarif que personne ne t'a jamais proposé. Rien n'interdit de filtrer et de chercher le minimum sur la même colonne.
L’erreur fatale
Piège silencieux : si aucune ligne ne correspond aux critères, BDMIN ne lève aucune erreur, elle renvoie 0, exactement comme BDMAX. Ce 0 est indiscernable d'un vrai minimum, et un SIERREUR n'y changera rien puisqu'il n'y a rien à intercepter. Compte d'abord les lignes retenues avec BDNB.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction BDMIN

Avec BDMIN, l'ennemi numéro un, c'est le décalage entre ta base et ta zone de critères. Une plage qui démarre sous les en-têtes, un nom de colonne retapé avec un espace en trop, un champ sans guillemets qui devient #NOM? : à chaque fois, c'est la communication entre les deux zones qui casse.

Et quand tes critères ne matchent aucune ligne, BDMIN ne proteste pas : elle renvoie 0, un chiffre qui se lit comme un minimum ordinaire et qui file dans tes calculs sans que rien ne t'alerte.

Oublier d'inclure les en-têtes dans base_de_données

Si tu références A2:D100 au lieu de A1:D100, BDMIN ne sait pas identifier tes colonnes et retourne des résultats erronés ou une erreur. C'est l'erreur n°1 sur les fonctions BD*.

Solution : Vérifie toujours que la première ligne de ta plage base_de_données contient les en-têtes. La plage doit TOUJOURS commencer par la ligne d'en-têtes. Les en-têtes sont obligatoires pour toutes les fonctions BD*.

Noms de colonnes différents entre base et critères

Si ton en-tête s'appelle "Prix HT" dans ta base mais que tu écris "Prix" dans ta zone de critères, BDMIN ne trouve aucune correspondance. Même un espace en trop crée un échec silencieux.

Solution : Copie-colle les en-têtes de ta base vers ta zone de critères pour garantir une correspondance exacte. Ne les retape pas manuellement : une différence invisible de casse ou d'espace suffit à tout bloquer.

Aucune correspondance : un 0 qui passe pour un résultat

Quand aucune ligne ne correspond à tes critères, BDMIN retourne 0, pas une erreur. Rien ne signale que le filtre est resté vide, et ce 0 se glisse dans tes calculs en aval comme s'il s'agissait d'un vrai minimum. BDMAX se comporte exactement pareil. Attention, ce n'est pas le cas de toute la famille BD* : BDMOYENNE et BDVAR, elles, renvoient bien #DIV/0! dans la même situation, ce qui explique la confusion.

Solution : SIERREUR ne sert à rien ici, puisqu'il n'y a aucune erreur à intercepter. Compte les lignes retenues avant de lire le résultat : =SI(BDNB(A1:D100;"Prix";F1:F2)=0;"Aucun résultat";BDMIN(A1:D100;"Prix";F1:F2)) distingue un filtre vide d'un minimum qui vaut réellement zéro.

Guillemets oubliés pour le nom du champ

Si tu écris =BDMIN(A1:D10; Prix; F1:F2) sans guillemets autour de Prix, Excel cherche une cellule nommée Prix et retourne probablement une erreur #NOM?.

Solution : Mets toujours des guillemets pour les noms de champs textuels : =BDMIN(A1:D10; "Prix"; F1:F2). Ou utilise le numéro de colonne : =BDMIN(A1:D10; 3; F1:F2).

Lucas, la mascotte du Dojo, compare deux fonctions Excel

BDMIN vs MIN vs MIN.SI.ENS vs BDMAX

Tant que tu cherches un minimum sans la moindre condition, MIN suffit largement. Dès qu'il faut filtrer, la question devient : ET ou OU ? MIN.SI.ENS est plus rapide à écrire mais ne sait combiner que des ET. C'est quand tu as besoin d'un OU (plusieurs catégories d'un coup) ou d'une zone de critères que tu réutilises ailleurs que BDMIN devient le bon choix. BDMAX est sa jumelle exacte, à un détail près : elle te renvoie le plus grand au lieu du plus petit.

CritèreBDMINMINMIN.SI.ENSBDMAX
Critères OU logique✅ Oui (lignes multiples)❌ Non⚠️ Uniquement ET✅ Oui (lignes multiples)
Zone de critères séparée✅ Oui❌ Non❌ Non✅ Oui
Caractères joker (* ?)✅ Oui❌ Non✅ Oui✅ Oui
Facilité de saisie⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
RésultatMinimumMinimumMinimumMaximum
Cas d'usage typiqueCritères OU ou zone réutiliséeMinimum sans critèreCritères ET multiplesMaximum filtré
Le conseil du pro
Quand BDMIN te renvoie une date, Excel l'affiche par défaut comme un gros nombre illisible (son numéro de série). Sélectionne la cellule de résultat, fais Ctrl+1 et choisis le format Date : tu retrouves aussitôt une vraie date à présenter.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec BDMIN

1Astuce

Critère OU : empile les lignes dans ta zone

Pour trouver le minimum sur deux catégories combinées, par exemple Consommables et Fournitures, ajoute une troisième ligne dans ta zone de critères : F1 = Catégorie, F2 = Consommables, F3 = Fournitures. La formule =BDMIN(A1:C100;"Stock";F1:F3) retournera alors le minimum sur les deux catégories réunies.
C'est l'avantage décisif de BDMIN : MIN.SI.ENS ne peut pas gérer ce cas en une seule formule.

2Astuce

Critères calculés dynamiques dans ta zone

Tu peux placer des formules dans ta zone de critères, pas seulement des valeurs fixes. Par exemple, mets =AUJOURDHUI()-30 en F2 (sous l'en-tête Date) pour filtrer les 30 derniers jours. La formule =BDMIN(A1:C100;"Montant";F1:F2) se recalculera automatiquement chaque jour sans que tu touches à rien.
Ce principe s'étend à tout calcul : seuils basés sur une moyenne, conditions sur l'année en cours, etc.

3Astuce

Sécurise avec BDNB avant BDMIN

Quand aucune ligne ne correspond aux critères, BDMIN retourne un 0 trompeur plutôt qu'une erreur, et rien ne t'avertit. C'est précisément ce qui rend le test préalable indispensable : =SI(BDNB(A1:C100;"Stock";F1:F2)>0;BDMIN(A1:C100;"Stock";F1:F2);"Aucun résultat") affiche un message clair quand les critères ne matchent rien.
Utilise cette approche dans tout rapport partagé : c'est le seul moyen de distinguer « aucune ligne trouvée » d'un stock réellement tombé à zéro.

FAQ

Questions fréquentes

MIN calcule simplement le minimum d'une plage sans condition. BDMIN te permet de filtrer les données selon des critères complexes avant de calculer le minimum, en utilisant une zone de critères séparée. C'est comme avoir MIN combiné avec des filtres automatiques. BDMIN gère aussi les critères OU (plusieurs valeurs possibles pour une colonne) en ajoutant des lignes dans la zone. MIN ne fait aucun filtrage.

Ressources

Pour aller plus loin

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

Tout voir