[Excel] formule sommeprod : problème

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. 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
    1. 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. Contributeur
        bonjour,
        ci joint 2 propositions: avec sommeprod et avec une formule matricielle peut-être plus élégante
        https://www.cjoint.com/?fgk3hCHJhn
        0
      2. Effectivement! Et ca marche! Je ne sais pas où je m'étais trompé. Merci à toi.
        0
      3. 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. C'est bon j'ai trouvé.. Merci encore.
        0
    2. =(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. Oui mais ca va me calculer juste une différence de moyenne....
        0
    3. Contributeur
      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
      1. 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. Contributeur
          ce qui revient à prendre la solution que j'avais proposé ?
          0
        2. Contributeur
          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. Contributeur
          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. Contributeur
          Effectivement, ça saute pas aux yeux.
          Vu merci!
          0
        5. 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