[Excel] formule sommeprod : problème

Fermé
Le_Goret - Modifié par jipicy le 6/05/2010 à 10:31
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 - 6 mai 2010 à 13:53
Bonjour les gens,

J'ai découvert tout récemment les possibilités offertes par la formule sommeprod ... qui s'avère monstrueusement efficace!!!
Mais ce matin je tombe sur un os. J'ai des difficultés pour assorcier mon sommeprod avec d'autres frormules comme NB.SI.


Voilà j'ai une série de données se présentant de la manière suivante:

Date Matière Coloris Délais de Prod
t1 M1 C1 D1
t2 M2 C2 D2
. . . .
tn Mn Cn Dn

Je me suis mis en tête de calculer le délais moyen de production (colonne D) entre deux dates (disons t2 et t5)en fonction d'une matière et d'un coloris donnés (disons M1 et C1). En avant pour sommeprod!!!

Ca me donne la formule:

=sommeprod(D1:Dn*(M1:M7=M1)*(C1*Cn=C1)*(t1:tn>=t2)-sommeprod(D1:Dn*(M1:M7=M1)*(C1*Cn=C1)*(t1:tn>=t5) /

(nb.si((C1:Cn=C1)*(M1:Mn=M1)*(t1:tn>=t2);D1:Dn)-nb.si(nb.si((C1:Cn=C1)*(M1:Mn=M1)*(t1:tn>=t5;D1:Dn)

Excel me marque "nombre insuffisant d'arguments pour cette fonction"..... Quelqu'un a-t-il une idée?





A voir également:

5 réponses

smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
6 mai 2010 à 10:45
bonjour;
testez cette formule:
=(SOMMEPROD((C1:Cn=$C$1)*(M1:Mn=$M$1)*(T1:Tn>=$T$2)*(D1:Dn))-SOMMEPROD(...................................................*(T1:Tn>=$T$5)*(D1:Dn)))
0
Je viens de tester et ca marche. Mais ca ne me donne la somme de C1:Cn..
Je voudrais la moyenne.

En fait c est au niveau de la formule nb.si que ca semble poser probleme. La formule est-elle bien agencée?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 6/05/2010 à 10:56
bonjour,
ci joint 2 propositions: avec sommeprod et avec une formule matricielle peut-être plus élégante
https://www.cjoint.com/?fgk3hCHJhn
0
Effectivement! Et ca marche! Je ne sais pas où je m'étais trompé. Merci à toi.
0
Petite question: Comment faire pour que la formule moyenne.si ne calcule la moyenne qu'entre 2 dates et non pas juste antérieure à une en particulier?
0
C'est bon j'ai trouvé.. Merci encore.
0
smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
6 mai 2010 à 11:14
=(MOYENNE.SI.ENS(D1:Dn;C1:Cn;$C$1;M1:Mn;$M$1;T1:Tn;>=$T$2))-(MOUENNE.SI.ENS(.......................................................;T1:Tn;>=$$5)))
0
Oui mais ca va me calculer juste une différence de moyenne....
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
6 mai 2010 à 11:35
Bonjour
essayez
=SOMMEPROD((Champ date=>cell date mini)*(champ date <= date maxi);champ montant) /SOMMEPROD((Champ date>=cell date mini)*(champ date<=Cell maxi))
si vous mettez directement les dates dans les formules écrivez les entre guillemets:
"8/5/2010" par exemple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
6 mai 2010 à 12:05
Bonjour à tous,
On ne peut qu'être d'accord avec Vaucluse, cependant quand on ajoute les champs matière et coloris qui ne sont pas numériques il faut ajouter un "*1" dans le deuxième Sommeprod.
=SOMMEPROD((C1:Cn=$C$1)*(M1:Mn=$M$1)*(T1:Tn>=$T$2)*(T1:Tn>=$T$5)(D1:Dn))/SOMMEPROD((C1:Cn=$C$1)*(M1:Mn=$M$1)*(T1:Tn>=$T$2)*(T1:Tn>=$T$5)*1)
sous réserve de vérification.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
6 mai 2010 à 12:30
ce qui revient à prendre la solution que j'avais proposé ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 6/05/2010 à 13:19
Bonjour tous
je ne crois pas Tontong.
Lorsque SOMMEPROD compte un nombre de cellules sans faire d'addition de montant dans un ou plusieurs champ avec plusieurs conditions différentes, il n'est pas utile de *1 sauf pour "assumer" Ceci que les champs soient textes ou num.
Ce n'est que lorsqu'il n'y a qu'une SOMMEPROD nécessitant une multiplication,
soit par exemple dans un champ de valeur A1:A100 le nombre de valeur comprise entre 50 et 60 s'écrit
=SOMMEPROD(A1:A100>=Date MINI)*(A1:A100=)<Date maxi)) sans le *1
par contre on ne peut pas écrire:
=SOMMEPROD(A1:A100>=Date mini)
et là il est nécessaire d'écrire:
=SOMMEPROD((A1:A100=>Date mini)*1)

pour complément, voir ici:
http://www.cijoint.fr/cjlink.php?file=cj201005/cij0U3o3oO.xls

Michel: je ne trouve pas ta proposition dans ce fil? ?

Crdlmnt

:
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
6 mai 2010 à 13:36
Voir "afficher tous les commentaires" dans la 2° réponse

Pas très pratique ce double système: commentaires et j'ai une réponse
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
6 mai 2010 à 13:38
Effectivement, ça saute pas aux yeux.
Vu merci!
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
6 mai 2010 à 13:53
Merci Vaucluse pour cette rectification,j'essaye d'en prendre bonne note mais pour plus de sécurité je stocke l'excellent fichier joint.
En résumé Vrai=Vrai Vrai*Vrai=1 Vrai+Vrai=2
Merci encore.

Ps: Je n'avais pas vu non plus le commentaire de michel m.
0