SOMMEPROD avec conditions
Résolu
Pascal29992
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
Pascal29992 Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Pascal29992 Messages postés 98 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à faire le produit des colonnes "valeurs" et "coeff", à la condition que la colonne "critère" soit égal à TEXT1
J'ai donc écrit la formule suivante, qui fonctionne :
=SOMMEPROD((B4:B7="TEXT1")*(C4:C7)*(D4:D7))

Dans le cas présent, j'obtiens la valeur : 333,607476
Mais dans mon véritable Excel, je travaille sur une plus grande plage que les lignes 4 à 7
Et parfois, les valeurs de certaines cases des colonnes C et D sont vides
Dans ce cas, la formule me retournait une erreur #VALEUR
Pour contourner ça, j'ai enrichi ma formule avec des conditions sur les colonnes C et D : ne prendre en compte que les valeurs positives
Ce qui donne :
=SOMMEPROD((B4:B7="TEXT1")*(C4:C7>0)*(D4:D7>0))

Cette fois-ci, plus d'erreur, mais j'obtiens la valeur : 2 !
Je ne comprends pas où est l'erreur qui explique ce changement de valeurs, puisque pour moi il s'agit de la même formule qu'auparavant

Quelle formule utiliser pour retrouver ma valeur : 333,607476
Merci beaucoup :)
Je cherche à faire le produit des colonnes "valeurs" et "coeff", à la condition que la colonne "critère" soit égal à TEXT1
J'ai donc écrit la formule suivante, qui fonctionne :
=SOMMEPROD((B4:B7="TEXT1")*(C4:C7)*(D4:D7))

Dans le cas présent, j'obtiens la valeur : 333,607476
Mais dans mon véritable Excel, je travaille sur une plus grande plage que les lignes 4 à 7
Et parfois, les valeurs de certaines cases des colonnes C et D sont vides
Dans ce cas, la formule me retournait une erreur #VALEUR
Pour contourner ça, j'ai enrichi ma formule avec des conditions sur les colonnes C et D : ne prendre en compte que les valeurs positives
Ce qui donne :
=SOMMEPROD((B4:B7="TEXT1")*(C4:C7>0)*(D4:D7>0))

Cette fois-ci, plus d'erreur, mais j'obtiens la valeur : 2 !
Je ne comprends pas où est l'erreur qui explique ce changement de valeurs, puisque pour moi il s'agit de la même formule qu'auparavant

Quelle formule utiliser pour retrouver ma valeur : 333,607476
Merci beaucoup :)
Configuration: Windows / Chrome 89.0.4389.114
A voir également:
- Sommeprod avec condition texte
- Excel cellule couleur si condition texte - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Transcription audio en texte word gratuit - Guide
- Texte barré whatsapp - Guide
- Mettre un texte en majuscule - Guide
5 réponses
Bonsoir
a priori une piste à confirmer par d'autres experts
=SOMMEPROD((B4:B7="TEXT1")*(C4:C7>0,1)*(D4:D7>0))
si on décompose
si B4=TEXT1 => vrai =1
si C4>0 => vrai =1
si D4>0 =>vrai =1
ce qui donne 1*1*1 donc 1 pour la ligne 4
si B5=TEXT1 => 1
si C5>0 => 1
si D5>0 => 1
ce qui donne 1*1*1 donc 1 pour la ligne 5
somme ligne 4 et 5 donne 2
a priori une piste à confirmer par d'autres experts
=SOMMEPROD((B4:B7="TEXT1")*(C4:C7>0,1)*(D4:D7>0))
si on décompose
si B4=TEXT1 => vrai =1
si C4>0 => vrai =1
si D4>0 =>vrai =1
ce qui donne 1*1*1 donc 1 pour la ligne 4
si B5=TEXT1 => 1
si C5>0 => 1
si D5>0 => 1
ce qui donne 1*1*1 donc 1 pour la ligne 5
somme ligne 4 et 5 donne 2
Bonjour,
je soutiens vaucluse, si tes cellules étaient réellement vides tu n'aurais pas de #VALEUR!
Je suis arrivé à :
à valider en matriciel avec Shift+Ctrl+Entrée
Comme celle de djidji si excel <> 365
eric
je soutiens vaucluse, si tes cellules étaient réellement vides tu n'aurais pas de #VALEUR!
Je suis arrivé à :
=SOMMEPROD((B4:B7="text1")*SIERREUR((C4:C7*D4:D7);0))
à valider en matriciel avec Shift+Ctrl+Entrée
Comme celle de djidji si excel <> 365
eric
Bonjour
essayez:
=SOMMEPROD((B4:B7="Text1")*(C4:C7*D4:D7))
crdlmnt
essayez:
=SOMMEPROD((B4:B7="Text1")*(C4:C7*D4:D7))
crdlmnt
Bonjour Vaucluse,
Merci pour ta proposition, cependant elle ne convient pas
Je suis obligé de mettre >0 pour que la formule ne me retourne pas une erreur sur les valeurs vides
Il faut imaginer que mon Excel ne va pas des lignes 4 à 7, mais disons 4 à 50, et il y a certaines cellules vides, comme par exemple C23, D47, etc etc
Et si j'adapte ta formule avec les critères, cela me donne : =SOMMEPROD((B4:B7="Text1")*(C4:C7>0*D4:D7>0))
Le calcul me retourne 2, au lieu de la valeur attendue : 333,607476
Je n'arrive pas à comprendre en quoi l'ajout des critères > 0 change le résultat de la formule
Après tout, je n'ai aucune valeur négative dans mes cellules.
En espérant avoir apporté les précisions :)
Merci pour ta proposition, cependant elle ne convient pas
Je suis obligé de mettre >0 pour que la formule ne me retourne pas une erreur sur les valeurs vides
Il faut imaginer que mon Excel ne va pas des lignes 4 à 7, mais disons 4 à 50, et il y a certaines cellules vides, comme par exemple C23, D47, etc etc
Et si j'adapte ta formule avec les critères, cela me donne : =SOMMEPROD((B4:B7="Text1")*(C4:C7>0*D4:D7>0))
Le calcul me retourne 2, au lieu de la valeur attendue : 333,607476
Je n'arrive pas à comprendre en quoi l'ajout des critères > 0 change le résultat de la formule
Après tout, je n'ai aucune valeur négative dans mes cellules.
En espérant avoir apporté les précisions :)
Bonjour à tous et salutations Vaucluse,
L'instruction C4:C7>0 ne te retourne pas la liste des valeurs C4:C7 mais une liste de valeurs Vrai ou Faux (converties en 1 ou 0 pour les calculs). Mais ce qui est étonnant c'est qu'une valeur vide est prise égale à 0 pour les calculs, alors ce n'est peut-être pas une vraie valeur vide mais un espace ?
Précise ou donne un exemple de ton fichier.
Cordialement
L'instruction C4:C7>0 ne te retourne pas la liste des valeurs C4:C7 mais une liste de valeurs Vrai ou Faux (converties en 1 ou 0 pour les calculs). Mais ce qui est étonnant c'est qu'une valeur vide est prise égale à 0 pour les calculs, alors ce n'est peut-être pas une vraie valeur vide mais un espace ?
Précise ou donne un exemple de ton fichier.
Cordialement
Bonjour à tous,
T'as rien adapté du tout, ta formule te renvoie le nombre de "texte1" dans la plage b4:b7 .
Il manque le cacul du depart, a savoir *(C4:C7*D4:D7)
=SOMMEPROD((B4:B7="Text1")*(C4:C7>0)*(D4:D7>0)*(C4:C7)*(D4:D7))
Crdlmt
T'as rien adapté du tout, ta formule te renvoie le nombre de "texte1" dans la plage b4:b7 .
Il manque le cacul du depart, a savoir *(C4:C7*D4:D7)
=SOMMEPROD((B4:B7="Text1")*(C4:C7>0)*(D4:D7>0)*(C4:C7)*(D4:D7))
Crdlmt
Ah très bien, je comprends que je n'avais fait qu'écrire des conditions VRAI et FAUX et qu'il manquait donc le calcul
Mais du coup avec ta formule je retombe sur le problème VALEUR mmmh :/
Sachant que les cellules sont vides, peut-être ne devrais-je pas marquer ">0" mais "différent de vide" ?
Si oui, existe-il une syntaxe pour ce faire?
Mais du coup avec ta formule je retombe sur le problème VALEUR mmmh :/
Sachant que les cellules sont vides, peut-être ne devrais-je pas marquer ">0" mais "différent de vide" ?
Si oui, existe-il une syntaxe pour ce faire?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour (et salut DjiDji)
avez vous dans C ou D des formules qui renvoient "" si elles ne trouvent rien? Si oui, remplacer ""par 0
crdlmnt
avez vous dans C ou D des formules qui renvoient "" si elles ne trouvent rien? Si oui, remplacer ""par 0
crdlmnt
Bonjour Vaucluse, en fait il n'y a aucune formule dans les cellules vides
Ce sont des cellules vides justement
Peut être qu'au lieu d'écrire la condition ">0", je devrais plutôt ignorer les cellules vides tout simplement ?
Existe-il une syntaxe pour écrire "différent de vide" dans la fonction SOMMEPROD?
Merci beaucoup
Ce sont des cellules vides justement
Peut être qu'au lieu d'écrire la condition ">0", je devrais plutôt ignorer les cellules vides tout simplement ?
Existe-il une syntaxe pour écrire "différent de vide" dans la fonction SOMMEPROD?
Merci beaucoup
Crdlmt
Merci beaucoup ! :D