BDPRODUIT (DPRODUCT en anglais) multiplie automatiquement les valeurs d'une colonne dans ta base de données, mais uniquement celles qui correspondent aux critères que tu poses. Tu décris le filtre une fois dans une petite zone séparée, et Excel fait la multiplication sur les lignes retenues.
C'est la fonction de choix en finance pour les intérêts composés filtrés par client ou par période, en statistiques pour les probabilités conditionnelles, et en analyse de fiabilité pour les taux de conformité cumulés. Si tu te retrouves à écrire =PRODUIT(SI(...)) en formule matricielle, BDPRODUIT simplifie tout ça en une formule lisible.
Syntaxe de la fonction BDPRODUIT
=BDPRODUIT(base_de_données; champ; critères)Comprendre chaque paramètre de la fonction BDPRODUIT
Les trois arguments s'enchaînent toujours dans le même ordre : tu pointes d'abord ton tableau complet (en-têtes compris), puis la colonne à multiplier, et enfin la petite zone à part où tu poses ton filtre. Aucun n'est facultatif ici, contrairement à beaucoup de fonctions Excel.
Le deuxième argument se donne au choix par le nom de la colonne entre guillemets ("Taux") ou par son numéro de position : le nom est plus sûr, car ta formule survit à une réorganisation des colonnes.
base_de_données
: la plage complète de ta base de données, en-têtes inclusPar exemple A1:D100 si tes données vont de la colonne A à D avec les titres des colonnes en ligne 1. Les en-têtes sont essentiels : Excel s'en sert pour identifier les colonnes.
Pense à cette plage comme à ton tableau complet : toutes les colonnes dont tu pourrais avoir besoin pour filtrer ou calculer doivent être incluses.
Astuce : Utilise des références absolues ($A$1:$D$100) pour que la formule reste correcte quand tu la copies vers d'autres cellules.
champ
: la colonne dont tu veux multiplier les valeursTu peux l'indiquer de deux façons : soit par son nom entre guillemets comme "Taux", soit par sa position (1 pour la première colonne, 2 pour la deuxième, etc.).
Utiliser le nom est plus clair et ton fichier reste valide même si tu réorganises les colonnes. C'est la méthode recommandée pour éviter les erreurs silencieuses.
critères
: une zone séparée (souvent 2-3 lignes) où tu définis tes conditions de filtrageLa première ligne contient les noms de colonnes (exactement comme dans ta base), et les lignes suivantes contiennent les valeurs recherchées.
Par exemple, si tu veux filtrer sur Client = "Dupont", tu créeras une mini-table avec Client en en-tête et Dupont en dessous. Tu peux ajouter plusieurs colonnes côte à côte pour des conditions ET, ou des lignes supplémentaires pour des conditions OU.
Astuce : Place toujours ta zone de critères en dehors de ta base de données principale, souvent au-dessus ou à droite. Beaucoup de professionnels utilisent les colonnes F-H pour les critères quand les données sont en A-D. Cela évite les conflits et rend le fichier plus lisible.
Attention : Les en-têtes de la zone de critères doivent correspondre exactement aux en-têtes de la base. Un accent manquant, une majuscule différente ou un espace invisible suffit à faire rater le filtrage sans message d'erreur clair.
Exemples pratiques pas à pas
Analyste financier : calculer les intérêts composés d'un portefeuille
Tu es analyste financier et tu gères plusieurs portefeuilles clients. Chaque trimestre a un taux de rendement différent. Tu veux calculer le rendement cumulé sur l'année pour le client Dupont en multipliant ses quatre taux trimestriels.
La zone de critères en E1:E2 contient Client en E1 et Dupont en E2. BDPRODUIT multiplie uniquement les taux des lignes où la colonne Client vaut Dupont : 1,03 × 1,05 × 1,02 × 1,04 = 1,1449. Cela représente un rendement total de 14,49%. Si tu avais additionné les pourcentages (3% + 5% + 2% + 4% = 14%), tu aurais sous-estimé l'effet des intérêts composés.
| A | B | C | |
|---|---|---|---|
| 1 | Trimestre | Client | Taux |
| 2 | T1 | Dupont | 1,03 |
| 3 | T2 | Dupont | 1,05 |
| 4 | T3 | Dupont | 1,02 |
| 5 | T4 | Dupont | 1,04 |
| 6 | T1 | Martin | 1,06 |
=BDPRODUIT(A1:C6;"Taux";E1:E2)Statisticien : calculer une probabilité conditionnelle
Tu es statisticien dans une entreprise industrielle. Tu analyses les taux de succès de plusieurs étapes de production. Pour obtenir la probabilité qu'un produit passe toutes les étapes du Processus A, tu dois multiplier les probabilités de succès de chaque étape.
La zone de critères filtre sur Processus = Processus A. BDPRODUIT multiplie 0,98 × 0,95 × 0,92 = 0,8573. Même si chaque étape a un taux élevé individuellement, le produit révèle que près de 15% des produits échoueront quelque part dans le processus. Ces données sont essentielles pour dimensionner correctement la production.
| A | B | C | |
|---|---|---|---|
| 1 | Étape | Processus | Prob_succès |
| 2 | Étape 1 | Processus A | 0,98 |
| 3 | Étape 2 | Processus A | 0,95 |
| 4 | Étape 3 | Processus A | 0,92 |
| 5 | Étape 1 | Processus B | 0,99 |
| 6 | Étape 2 | Processus B | 0,88 |
=BDPRODUIT(A1:C6;"Prob_succès";E1:E2)Astuce de pro : Convertis le résultat en pourcentage de croissance avec =(BDPRODUIT(...) - 1) * 100 quand tu travailles avec des facteurs multiplicateurs de type 1,05.
Ingénieur qualité : calculer le taux de conformité d'un lot
Tu es ingénieur qualité et tu contrôles la conformité des pièces sur plusieurs dimensions. Pour qu'une pièce soit acceptée, elle doit passer tous les tests. Tu veux connaître le taux de conformité global pour le lot LOT-2024-A.
BDPRODUIT filtre les lignes du lot A et multiplie 0,97 × 0,96 × 0,94 × 0,99 = 0,8652. Même si chaque test individuel dépasse 94%, le taux de conformité global tombe à 86,52% : 13,48% des pièces seront rejetées sur au moins une dimension. Ces données sont essentielles pour optimiser le processus et réduire les rebuts.
| A | B | C | |
|---|---|---|---|
| 1 | Dimension | Lot | Taux_conf |
| 2 | Poids | LOT-2024-A | 0,97 |
| 3 | Taille | LOT-2024-A | 0,96 |
| 4 | Résistance | LOT-2024-A | 0,94 |
| 5 | Surface | LOT-2024-A | 0,99 |
| 6 | Poids | LOT-2024-B | 0,91 |
=BDPRODUIT(A1:C6;"Taux_conf";E1:E2)Actuaire : calculer le facteur de survie cumulé
Tu es actuaire dans une compagnie d'assurance. Tu analyses les taux de survie annuels pour la catégorie Risque Standard. Pour calculer la probabilité qu'un assuré survive sur 5 ans, tu dois multiplier les taux de survie de chaque année.
BDPRODUIT filtre sur Catégorie = Risque Standard et multiplie les cinq taux : 0,992 × 0,991 × 0,990 × 0,989 × 0,988 = 0,9500. La probabilité de survie sur 5 ans est de 95%. C'est ce facteur cumulé qui permet de tarifer correctement les contrats d'assurance-vie à long terme.
| A | B | C | |
|---|---|---|---|
| 1 | Année | Catégorie | Taux_survie |
| 2 | Année 1 | Risque Standard | 0,992 |
| 3 | Année 2 | Risque Standard | 0,991 |
| 4 | Année 3 | Risque Standard | 0,990 |
| 5 | Année 4 | Risque Standard | 0,989 |
| 6 | Année 5 | Risque Standard | 0,988 |
=BDPRODUIT(A1:C6;"Taux_survie";E1:E2)Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BDPRODUIT
Avec BDPRODUIT, presque tout se joue dans la zone de critères : un en-tête qui ne colle pas au mot près (accent, majuscule, espace invisible) déclenche un #VALEUR!, et un filtre qui ne retrouve aucune ligne renvoie #DIV/0! puisqu'il n'y a rien à multiplier.
Le piège plus sournois est silencieux : si une seule valeur retenue vaut 0, le produit entier tombe à 0 sans aucune alerte. Et place toujours ta zone de critères en dehors du tableau, sinon le chevauchement fausse le calcul.
#VALEUR! : les en-têtes de la zone de critères ne correspondent pas
Cette erreur survient quand le nom de colonne dans ta zone de critères ne correspond pas exactement à celui de ta base de données. Excel est sensible aux majuscules, espaces et accents.
Solution : Copie-colle l'en-tête depuis ta base de données vers ta zone de critères au lieu de le retaper. Cela garantit une correspondance parfaite. Tu peux aussi utiliser le numéro de colonne (1, 2, 3...) au lieu du nom.
Résultat = 0 alors que des valeurs existent dans la base
Si BDPRODUIT renvoie 0, au moins une des valeurs correspondant aux critères est égale à 0. En mathématiques, n'importe quoi multiplié par 0 donne 0.
Solution : Vérifie tes données sources. Soit tu as réellement un 0 (auquel cas le résultat est correct), soit une cellule vide est interprétée comme 0. Ajoute un critère ">0" dans ta zone de critères pour exclure les valeurs nulles si nécessaire.
#DIV/0! : aucune ligne ne correspond aux critères
Cette erreur apparaît quand aucune ligne de ta base ne correspond à tes critères. Excel ne peut pas calculer un produit sans données.
Solution : Vérifie tes critères. Souvent c'est un problème de casse (majuscule/minuscule) ou d'espaces invisibles. Utilise EPURAGE pour nettoyer les espaces, ou allège tes critères pour tester. Protège aussi la formule avec SIERREUR : =SIERREUR(BDPRODUIT(...); "Aucune donnée").
Zone de critères qui chevauche la base de données
Si ta zone de critères se trouve à l'intérieur de ta plage de base_de_données, Excel peut être confus et renvoyer des résultats incorrects.
Solution : Place toujours ta zone de critères complètement en dehors de ta base de données. Une bonne pratique est de la mettre plusieurs lignes au-dessus ou plusieurs colonnes à droite de tes données principales.
BDPRODUIT vs PRODUIT vs SOMMEPROD vs BDSOMME
Prends BDPRODUIT dès que tu dois multiplier des valeurs mais seulement celles qui passent un filtre : PRODUIT ignore les critères, et SOMMEPROD ne sait filtrer qu'en l'enrobant d'une formule matricielle peu lisible. Pour des taux composés par client ou par période, c'est le bon réflexe.
Si tu veux additionner au lieu de multiplier sur le même tableau filtré, passe à BDSOMME : elle partage exactement la même zone de critères, l'opération seule change.
| Critère | BDPRODUIT | PRODUIT | SOMMEPROD | BDSOMME |
|---|---|---|---|---|
| Filtrage par critères | Oui | Non | Avec formule matricielle | Oui |
| Opération | Multiplication | Multiplication | Somme de produits | Addition |
| Base de données requise | Oui | Non | Non | Oui |
| Complexité | ⭐⭐⭐ | ⭐ | ⭐⭐ | ⭐⭐⭐ |
| Cas d'usage typique | Taux composés filtrés | Multiplication simple | Calculs pondérés | Totaux filtrés |
Astuces avancées avec BDPRODUIT
Critères multiples en combinaison OU
Pour un critère OU (par exemple, Département = Finance OU Département = RH), place les valeurs sur des lignes différentes dans ta zone de critères. Excel multiplie les valeurs qui correspondent à au moins un des critères.
Tu peux ainsi analyser plusieurs catégories en une seule formule sans dupliquer les calculs.
Combiner avec d'autres fonctions BD pour un tableau de bord cohérent
Tu peux utiliser la même zone de critères pour BDSOMME, BDMOYENNE et BDNB simultanément. Crée une zone de critères commune et toutes tes statistiques portent sur exactement le même sous-ensemble de données.
Idéal pour les rapports de gestion où la cohérence entre les indicateurs est essentielle.
Convertir le produit en pourcentage de croissance
Quand tu utilises BDPRODUIT avec des facteurs de croissance (1,05, 1,03...), le résultat est un facteur total. Pour obtenir le pourcentage de croissance directement : =(BDPRODUIT(base;champ;critères) - 1) * 100.
Exemple : un résultat de 1,1449 devient 14,49% de croissance totale.
Questions fréquentes sur la fonction BDPRODUIT
Quelle est la différence entre BDPRODUIT et PRODUIT ?
PRODUIT multiplie simplement les cellules que tu sélectionnes, tandis que BDPRODUIT extrait automatiquement les valeurs d'une base de données selon des critères avant de les multiplier.
C'est comme la différence entre additionner à la main une liste filtrée et utiliser un filtre automatique. Dès que tu dois filtrer avant de multiplier, BDPRODUIT est plus lisible et plus robuste qu'une formule matricielle =PRODUIT(SI(...)).
Que se passe-t-il si aucune ligne ne correspond aux critères ?
BDPRODUIT renvoie #DIV/0!. C'est normal : si aucune valeur ne correspond, Excel ne peut pas calculer de produit. Vérifie toujours que tes critères correspondent à au moins une ligne.
Protège la formule avec SIERREUR(BDPRODUIT(...); 0) ou SIERREUR(BDPRODUIT(...); "Aucune donnée") pour éviter les messages d'erreur dans tes rapports.
Peut-on utiliser plusieurs critères avec BDPRODUIT ?
Oui. Pour des conditions ET (département = Finance ET année = 2024), place les conditions côte à côte dans la même ligne de ta zone de critères. Pour des conditions OU, place les valeurs sur des lignes différentes.
Chaque colonne de critères représente un filtre supplémentaire, et tu peux combiner autant de conditions que nécessaire.
BDPRODUIT fonctionne-t-elle avec des nombres négatifs ?
Oui, mais attention au signe du résultat. Multiplier un nombre impair de valeurs négatives donne un résultat négatif ; un nombre pair de valeurs négatives donne un résultat positif (négatif × négatif = positif).
Si tu travailles avec des taux de variation (pouvant être négatifs), vérifie que le signe du résultat correspond bien à ce que tu attends mathématiquement.
Comment gérer les zéros dans mes données ?
Si une seule valeur vaut 0, le produit entier sera 0. C'est mathématiquement correct mais peut fausser ton analyse si ce zéro est une anomalie ou une donnée manquante.
Ajoute un critère ">0" dans ta zone de critères pour exclure les zéros si nécessaire, ou vérifie tes données sources avant de lancer le calcul.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
