[Excel] formule sommeprod : problème

Le_Goret -  
tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   -
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?

5 réponses

  1. smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
     
    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
  2. Le_Goret
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      bonjour,
      ci joint 2 propositions: avec sommeprod et avec une formule matricielle peut-être plus élégante
      https://www.cjoint.com/?fgk3hCHJhn
      0
    2. Le_Goret
       
      Effectivement! Et ca marche! Je ne sais pas où je m'étais trompé. Merci à toi.
      0
    3. Le_Goret
       
      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
    4. Le_Goret
       
      C'est bon j'ai trouvé.. Merci encore.
      0
  3. smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
     
    =(MOYENNE.SI.ENS(D1:Dn;C1:Cn;$C$1;M1:Mn;$M$1;T1:Tn;>=$T$2))-(MOUENNE.SI.ENS(.......................................................;T1:Tn;>=$$5)))
    0
    1. Le_Goret
       
      Oui mais ca va me calculer juste une différence de moyenne....
      0
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      ce qui revient à prendre la solution que j'avais proposé ?
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
    4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Effectivement, ça saute pas aux yeux.
      Vu merci!
      0
    5. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
       
      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