Compter le nombre de ligne

Bonjour,

J'ai un tableau effectué avec excel dans lequel je voudrais compter le nombre de ligne qui contient 2 critères précis.
J'avais penser à cela mais ça ne marche pas:

=SOMMEPROD((H2:H1357>750000)*(I2:I1357="SNR"))

Merci de votre aide
Configuration: Windows XP
Firefox 3.5.4

12 réponses

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

    Dans un premier temps la formule, qui n'st pas forcément matricielle est fausse, vous avez soit mal recopié dans votre message, soit mal lu ceux qui vous ont été transmis:

    ce n'est pas
    =SOMME((H2:H1357>750000)*(I2:I1357="SNR"))
    qu'il faut écrire

    mais
    =SOMMEPROD((H2:H1357>750000)*(I2:I1357="SNR"))
    celle là n'est pas matricielle et peut être rentrée simplement

    ensuite si vos textes cherchés commence par SNR, utilisez la formule:
    =SOMMEPROD((H2:H1357>750000)*(GAUCHE(I2:I1357;3)="SNR"))

    si ça ne marche pas,revenez avec un exemple de de votre tableau, (je me répéte... )pour que nous puissions analyser vos données.et surtout, posez les bonnes questions.... dés le premier coup!
    Crdlmnt

    PS

    1. bonsoir,

      une solution par formule matricielle :

      {=SOMME((H2:H1357>750000)*(I2:I1357="SNR"))}

      à mettre dans la cellule résultat de la façon suivante :
      rentrer la formule sans les { } puis "sortir" de la cellule en faisant CTRL+SHIFT+ENTER pour indiquer à excel qu'il s'agit d'une formule matricielle et qui mettra donc les { } automatiquement

      sinon, c'est une colonne de compteur à coté avec la formule
      =(H2>750000)*(I2="SNR")
      (=1 si les 2 conditions sont vraies)
      et la somme de cette colonne dans la cellule de résultat
      1. Contributeur
        Bonjour

        je viens d'essayer sur une maquette
        =SOMMEPROD((B2:B10000>750000)*(C2:C10000="SNR"))

        et ca marche...

        par contre pour la matricielle il faudrait écrire
        =SOMME(SI((B2:B10000>750000)*(C2:C10000="SNR");1))
        1. {=SOMME((H2:H1357>750000)*(I2:I1357="SNR"))}
          fonctionne tel quel
          {=SOMME(SI((H2:H1357>750000)*(I2:I1357="SNR");1)) }
          est une autre facon de l'écrire (mais un peu redondante)
          et =SOMMEPROD((H2:H1357>750000)*(I2:I1357="SNR"))
          fonctionne également..

          avec ca si ca ne marche pas..... :-)
          1. Contributeur
            Bonsoir tous
            J'étais en train de tester car vraiment étonné que la formule de tipi ne marche pas!Elle est tellement classique

            tipi, pouvez vous nous en dire plus sur la configuration de vos données pour que l'on tente de comprendre ce qui se passe.
            Par exemple si 750000 est un texte, elle ne fonctionne pas, alors ce 750000, à gauche ou à droite de la cellule?

            crdlmnt
            1. Bonjour tout le monde,

              Je n'ai pas tout compris sur ce que vous m'avez dit mais j'ai effectué ceci:

              =SOMME((H2:H1357>750000)*(I2:I1357="SNR"))

              puis ctrl + shift + enter

              j'ai fais aussi:

              =SOMME(SI((B2:B10000>750000)*(C2:C10000="SNR");1))

              j'ai 0 à chaque fois et non le nombre que je souhaite

              Merci de votre aide
              1. De plus je voudrais rajouter quelque chose à mon critère:

                ce n'est plus

                I2:I1357="SNR"

                mais je voudrais quelque chose comme ceci:

                I2:I1357 = commence par SNR

                comment le traduire???

                Merci pour tout
                1. Contributeur
                  RE
                  un petit exemple pour complèter mon message précédent
                  http://www.cijoint.fr/cjlink.php?file=cj200911/cijKTFywTH.xls
                  Bonne chance. Bonne journée
                  1. Ok ça marche.

                    Merci pour ta formule.

                    Je voudrais te demander plusieurs explication sur la formule:

                    que signifie le *?
                    que signifie le "gauche"?

                    Merci pour tes éclaircissements
                    1. Contributeur
                      Re
                      alors: le * est le signe "multiplié"
                      si vous écrivez en A1 2 et en B1 10, en D1, A1*B1 vous donnera 20
                      pour la formule SOMMEPROD
                      la 1° partie de la formule cherche les valeurs dans la 1° colonne et compte 1 quand elle en trouve une
                      la 2° partie fait de même avec la 2° colonne
                      Ensuite, la formule fait le total des résultat 1°*2°, c'est tout simple(?!)

                      Pour la formule GAUCHE
                      vous pouvez voir ce qu'elle donne dans une cellule B1 où vous rentrez par exemple:
                      =GAUCHE(A1;3)
                      vous verrez que quand vous rentrez un texte ou une valeur en B1,quelqu'il soit, la cellule B1 vous renverra les trois premiers carctcères en partant de la gauche
                      GAUCHE: part de la gauche
                      A1 va chercher dans la cellule A1
                      3 ressort les trois premiers caractères de A1.
                      La formule DROITE évidemment marche depuis l'autre coté!

                      Vous pouvez avoir en général des explications et de l'aide sur excel pour mettre en place ces formules:
                      cliquez sur la cellule où vous devez placer une formule et:
                      Barre d'outil /insertion / Fonction
                      et en suivant les affichages, vous aurez de nombreux process avec aide qui pourront vous servir.

                      Crdlmnt

                      1. ok mais lorsque je fais un filtre sur mon tableau avec mes deux critères, j'ai 18 lignes. Donc si je fais comme tu dis j'obtiendrais 18 réponses pour une colonnes et 18 réponses pour l'autre colonnes.

                        Donc après 18 * 18 = .... pas 18. C'est cela que je ne comprend pa.
                        1. Contributeur
                          la formule somme prod ne multiplie pas le compte du premir item par le compte du 2°, mais ajoute 1 chaque fois que 1°x 2°=1
                          dans un tableau comme celui ci dessous:(1° colonne en A et 2° en B)
                          45000 _ SNRTRF
                          750001_SNRGTR
                          750100_ABFTRE
                          800000_SNRFTE
                          la formule trouve:
                          sur ligne 1:0 en A et 1 en B > 0x1=0
                          sur ligne 2:1 en A et 1 en B:> 1x1=1
                          sur ligne 3:1 en A et 0 en B:> 1x0=0
                          sur ligne 4:1 en A et 1 en B:> 1x1:1
                          ensuite la formule compte le nombre de 1 trouvés, ici 2
                          Crdlmnt