Fonction SOMMEPROD

Résolu
Bonjour,

J'utilise Excel, j'ai un classeur dont une des feuilles et alimentée à partir des données saisie dans un formulaire.
Afin de faire un décompte suivant deux critères j'utilise la formule suivante :
=SOMMEPROD((A:A="X")*(F:F="Y"))

Mais ça ne marche !?! Je ne comprends vraiment pas pourquoi vu que dans un autre fichier ce type de formule fonctionne bien.

Auriez-vous une idée sur ce qui cloche ?

Merci d'avance

Laure

6 réponses

  1. Bonjour,

    SOMMEPROD ne fonctionne pas avec des colonnes entières, utilise une plage réduite, par exemple :
    =SOMMEPROD((A1:A65535="X")*(B1:B65535="Y"))

    Cordialement
    Patrice
    0
    1. Merci
      Mais j'avais déjà essayé cela. ça ne marche toujours pas.
      0
    2. Re Bonjour

      Quel système d'exploitation et quelle version d'Excel utilises-tu ?
      0
  2. Modérateur
    Bonjour,

    Quand tu dis "ça ne marche pas", ça veut dire quoi ?
    Que le résultat obtenu n'est pas bon ou bien que ça génère une erreur ?

    m@rina
    0
    1. Modérateur
      Bonjour,
      Si cela ne fonctionne pas, c'est qu'il y a un problème avec les valeurs (ou les formats) car la formule est correcte. Merci donc de répondre à m@rina.
      J'ajouterais que la formule SOMMEPROD est gourmande... Il faut dans l'absolu éviter de la gaver et d'en gaver votre classeur.
      Des formules comme : =SOMMEPROD((A1:A65535="X")*(B1:B65535="Y")) ne font qu'alourdir, inutilement votre classeur.
      Pour utiliser SOMMEPROD avec des plages variable, je vous recommande d'utiliser la combinaison SOMMEPROD et DECALER. Dans l'exemple que vous donnez ça donnerait :
      =SOMMEPROD((DECALER(A1;;;NBVAL(A:A))="x")*(DECALER(B1;;;NBVAL(B:B))="y"))

      NB : lorsque votre plage s'étends sur 50000 lignes, le résultat est le même : fichier plus lourd. Dans ce cas, préférer une macro plus légère et moins indigeste pour l'appétit de votre classeur.
      Bonne soirée et bon appétit...
      0
      1. Bonjour à tous,

        Merci de m'aider.

        "ça ne marche pas" ie rien de se passe, la cellule contenant la formule continue de m'afficher 0.
        J'utilise Excel 2003. Système d'exploitation ... heuu je regarderai lundi.
        J'ai vérifié et revérifié les formats des cellules. Dans la 1er matrice j'ai des nombres, et dans la 2nd j'ai du texte.

        Laure
        0
        1. Modérateur
          Dans la 1er matrice j'ai des nombres, et dans la 2nd j'ai du texte.
          Alors mettez ici votre formule exactement telle que vous l'avez dans le classeur, ou joignez nous un classeur exemple....
          0
      2. Bonjour,
        Si la première matrice est constituée de nombres, il est normale que A1:A65535="X" (entre guillemets) donne 0 !. Il faudrait mettre A1:A65535=Nbre (où Nbre est le nombre cherché).

        0
        1. Bonjour,

          Heuuu.... Voici une des formules exacte de mon fichier
          =SOMMEPROD(('Audit IT & IP'!$A$3:$A$5000="33")*('Audit IT & IP'!$F$3:$F$5000="KO"))
          Laure
          0
        2. Contributeur
          Salut le forum

          Enleve les guillemets autour de 33

          Mytå
          0
      3. ça marche !!

        Merci Merci
        0