Sommeprod

Résolu
Bonjour,

Dans un tableau excel, j’utilise la fonction SOMMEPROD.

Pour le champ à additionner j’utilise la colonne « N » dans laquelle il y a cette formule.

=SI(NB.VIDE(I2)=1;"";SI(I2=G2;"ok";"ncr"))

J’ai voulu modifier cette formule par celle-ci,
=SI(NB.VIDE(I2)=1;"";SI(I2/G2>=0.97;"ok";"ncr"))

Et maintenant ma fonction SOMMEPROD ne fonctionne plus et ça m’affiche #VALEUR !

Quelqu’un pourrait m’aider ?

Merci et bonne soirée
Configuration: Windows 2000
Internet Explorer 6.0

13 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour tchulio,

    pourrais tu donner le Sommeprod que tu mets, pour savoir ce qu'il doit faire ?
    @ te lire
    1. voilà :)

      =SI(NB.VIDE(I3)=1;"";SI(I3/G3<0.97;"NCR";"ok"))

      Merci
      1. Contributeur
        re:

        je te site :
        J’ai voulu modifier cette formule par celle-ci, 
        =SI(NB.VIDE(I2)=1;"";SI(I2/G2>=0.97;"ok";"ncr")) 
        Et maintenant ma fonction SOMMEPROD ne fonctionne plus et ça m’affiche #VALEUR !


        je te demande ta formule SommeProd et tu me renvoies la meme formule......

        je vois bien ce qu'elle fait, et à part le test qui est différent, elle renvoie un resultat identique que la précedente, normalement SommeProd devrait fonctionner, s'il plante maintenant, c'est lui le fautif

        1. EXCEUSE MOI VOILA

          =SOMMEPROD((Produits!$B$2:$B$12158=A3)*(Produits!$C$2:$C$12158=B3)*(Produits!$N$2:$N$12158="OK")*(LIGNE(Produits!$N$2:$N$6000)>MAX((Produits!$B$2:$B$6000=A3)*(Produits!$C$2:$C$12158=B3)*(Produits!$N$2:$N$12158="NCR")*LIGNE(Produits!$N$2:$N$6000))))
          1. Contributeur
            re:

            aurais tu changé tes limites ?????
            $B$2:$B$12158 et Produits!$N$2:$N$6000
            Sont 2 tables de taille differente, Sommeprod n'aime pas cela, mais franchement pas du tout lol

            Je serais toi, je nommerais mes colonnes (si elles sont evolutives), avec des plages qui evoluent automatiquement selon le nombre de ligne et j'utiliserais les nom plutot que les references de cellule
            1. Voilà, j'ai essayé comme ça :

              =SOMMEPROD((Produits!B:B=A3)*(Produits!C:C=B3)*(Produits!N:N="OK")*(LIGNE(Produits!N:N)>MAX((Produits!B:B=A3)*(Produits!C:C=B3)*(Produits!N:N="NCR")*LIGNE(Produits!N:N))))

              ça ne marche toujours pas, et ça m'affiche #NOMBRE!
              1. Contributeur
                re:

                même réponse : mais pas même cause :
                SommeProd n'aime pas mais vraiment pas travaillé sur des colonnes entières (lol)
                quand je te dis de travailler sur des plages nommées evolutives ce n'est pas pour rien lol

                Menu insertion / Nom / Définir
                Nom : Colb
                Fait référence à : =DECALER(Produits!$B$1;1;0;nbval(Produits!$B:$B)-1)

                Nom Colc
                Fait référence à : =DECALER(Colb;0;1)

                Nom Coln
                Fait référence à : =DECALER(Colb;0;13)

                ensuite tu modifies ton sommeprod en fonction des noms de plage : Produits!B:B devient Colb
                1. Donc j'ai essayé ce que tu m'as dit, renomée mes colonnes et modifier ma formule en

                  =SOMMEPROD((Colb=A3)*(Colc=B3)*(Coln="OK")*(LIGNE(Coln)>MAX((Colb=A3)*(Colc=B3)*(Coln="NCR")*LIGNE(Coln))))

                  La valeur est 0.

                  Et quand je compare le résultat avec cette formule qui fonctionne mais n'est pas pratique, je trouve 3.

                  =SOMME((Produits!$B$2:$B$12158="Azuréa")*(Produits!$C$2:$C$12158="FP.0020-2033.00A#")*(Produits!$N$2:$N$12158="ok")*(LIGNE(Produits!$N$2:$N$12158)>MAX((Produits!$B$2:$B$12158="Azuréa")*(Produits!$C$2:$C$12158="FP.0020-2033.00A#")*(Produits!$N$2:$N$12158="NCR")*LIGNE(Produits!$N$2:$N$12158))))
                  1. Contributeur
                    re:

                    tu peux me faire parvenir ton fichier, que je regarde

                    @ te lire
                    1. Salut,

                      Pour appuyer et compléter le post de wilfried_42, pour nous faire parvenir un exemple de ton fichier sers toi de ce lien

                      https://www.cjoint.com/

                      A+
                  2. Ok, voilà :

                    http://www.cijoint.fr/cjlink.php?file=cj200811/cijEhGq13m.xls
                    1. Tu as une erreur 0.97 écris le 0,97 ou change tes paramètres

                      A+

                      __________________________________________________________________

                      Besoin d’aide. Auprès du forum, des bénévoles prennent le temps de décrypter vos explications parfois confuses, et proposent leur connaissance.
                      Solution trouvée, ayez la courtoisie de porter votre statut résolu. Afin que votre problème soit classé, et serve de référence pour d’autres cas similaires.
                      1. Contributeur
                        re:

                        j'ai fait une erreur dans le décalage coln, au lieu de 13, il faut mettre 12 j'ai compté de la Colonne A au lieu de B

                        Quand on fait des plages avec Decaler, il faut toujours les vérifier pour cela

                        afficher toutes les colonnes
                        Menu insertion / Nom / Définir
                        Choisir un nom
                        cliquer au dessous sur la formule -----> la plage apparaît en pointillés
                        choisir un autre nom et recliquer sur la formule
                        1. Bonjour,

                          J'ai créé un tableau avec excel. J'ai plusieurs colonnes et je voudrais compter le nombre de ligne qui possède comme critère:

                          - pour une colonne: 37
                          - pour une autre colonne: vide

                          Merci de votre aide