[RESOLU] SOMMEPROD un peu spécial

PrinceCorwin

XLDnaute Occasionnel
Bonjour tous les gens,
Meilleurs Voeux à toutes et tous. Plein de bons codes pour toute l'année :p

Une question technique sur SOMMEPROD.
Je souhaite faire un calcul suivant plusieurs critères à choisir dans des listes.
Dans ces listes, j'ai ajouté une étoile '*' pour signifier que la formule doit tout prendre en compte. Pas de critères de choix, on prend absolument tout.

Mais avec SOMMEPROD ca ne fonctionne pas.
Voici ma formule:
VB:
=SOMMEPROD((ColCoupeur=$A10)*(ColSemaine=D$9)*(ColTypeModeles=$J$2)*(ColTypeCouleurs=$J$3)*(ColTypeMatieres=$J$4)*1;ColQuantiteProduits)
Il n'y a pas d'erreur dans la formule.
Juste que si je laisse * en critère de choix, le résultat est 0 (zéro).

je cherche à transformer la formule SOMME.SI.ENS ci-après :
Code:
=SOMME.SI.ENS(ColQuantiteProduit;ColCoupeur;$A10;ColSemaine;D$9;ColTypeModeles;$J$2;ColTypeCouleurs;$J$3;ColTypeMatieres;$J$4)
Si jamais il vous faut une partie des données, j'en posterai des non confidentielles.

Merci pour votre aide
 
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : SOMMEPROD un peu spécial

Bonjour,

Effectivement, sans pièce jointe reprenant les formules, difficile de te venir en aide.

Je me demande bien pourquoi mettre un "*" comme critère de choix, au lieu de supprimer la condition, ce serait quand même plus simple !
 

tdenfert

XLDnaute Impliqué
Re : SOMMEPROD un peu spécial

Bonjour,

j'ai modifier la cellule uniquement pour la matière en semaine 3 le principe semble fonctionner, je te laisse voir pour généraliser
=SOMMEPROD((ColCoupeur=$A10)*(ColSemaine=D$9)*(ColTypeModeles=SI($J$2="*";ColTypeModeles;$J$2))*(ColTypeCouleurs=$J$3)*(ColTypeMatieres=$J$4)*1;ColQuantiteProduits)

Edit bonjour Howervin comme d'hab ta solution est bien plus pertinante
 
Dernière édition:

PrinceCorwin

XLDnaute Occasionnel
Re : SOMMEPROD un peu spécial

Hello, Hello
Merci hoerwind, merci tdenfer pour vos solutions.

J'ai testé les deux version et une seule fonctionne correctement.

trrrrrrrrrrrrrr.... roulement de tambour trrrrrrrrrrrrrrrr

Celle de tdenfer fonctionne correctement.
Le truc vient du fait que la condition est après la plage à contrôler.
(plage=si(conditions; sivrai;sifaux)) . Pendant l'évaluation de cette partie, Excel prend bien en en premier la plage (donc toutes les valeurs à contrôler)

Dans la version d'Hoerwind
(si(condition;1;plage=critère)). Cela fonctionne si la condition est vrai. Toutes les valeurs de la plage sont en fait un seul champs (1). lorsque la condition est fausse, le nom de la plage est évaluée à #N/A, puis à 0. donc le résultat final est 0


Encore Merci à vous deux.

Plus je viens, plus j'en apprend.
Zeb
 

PrinceCorwin

XLDnaute Occasionnel
Re : [RESOLU] SOMMEPROD un peu spécial

Re,
Effectivement en valdidant la formule en Matricielle, elle fonctionne correctement.
Mais ca fait un peu bizarre. SOMMEPROD étant déjà une fonction matricielle.


Merci encore pour cette dernière information.

Bonne journée
 

Statistiques des forums

Discussions
312 249
Messages
2 086 603
Membres
103 260
dernier inscrit
NHOURRA