Compter cellules avec particularités

Résolu
Bonjour,

J'aimerais réussir à compter, dans un tableau, le nombre de cellule non-vides en C mais dans la condition où la colonne A="P" et la cellule de la ligne du dessous en B= "1"

---A B C
1- P 0 2222
2- P 1 "vide"
3- P 0 3333
4- P 1 2222
5- R 2 4444
6- P 0 "vide"
7- P 1 4444

Dans cet exemple, j'ai C1 et C3 qui correspondent, donc le résultat doit être 2.

Il faut savoir que un "P 1 .." est toujours précédé d'une ligne "P 0 .."

Quelqu'un peut m'aider??? Sachant que je veux éviter le VBA pour simplifier la tâche des utilisateurs

Merci pour votre aide!!!

5 réponses

  1. Modérateur
    Bonjour,
    Sans grande conviction car je débute, essayez cette formule matricielle (formule à valider par CTRL+MAJ+Entrée au lieu de Entrée. Si la validation est correcte, la formule apparait entre {}.)

    =SOMME(SI(C1:C1000<>"";1;0)*(DECALER(C1:C1000;1;-1)=1)*(A1:A1000="P"))

    ou alors, car je ne suis pas sur d'avoir compris (et oui en plus!!!) en formule "normale" (à valider par entrée... sans {}...)

    =SOMMEPROD((A1:A1000="P")*(B1:B1000=0)*(C1:C1000<>""))
    1
    1. Contributeur
      Bonjour,
      Par formule tu devras ajouter une colonne supplémentaire, par exemple en D
      Coller la formule
      =SI(ET(A1="P";B2=1;C1<>"");1;0)

      et la tirer vers le bas.
      Et sur la ligne 8 faire la somme de la colonne D
      Tu peu éventuellement cacher la colonne D et mettre la somme ailleur.
      A+
      0
      1. Ouai, j'y avais bien pensé, mais j'aimerais éviter le rajout d'une colonne comme c'est un travail sur une base de donnée qui sera réactualisée souvent
        0
    2. Merci pour ta réactivité.

      Ca serait plus sur la première solution qu'il faudrait travailler, mais là ca ne marche pas, ca m'affiche #NOM?, même si je valide en matricielle.

      En fait, la particularité réside dans le fait que les conditions de comptage qui sont en fait sur 2 lignes différentes, il y a une condition sur la même ligne et une condition sur la ligne du dessous.

      Tu vois ce que je veux dire?
      0
      1. Modérateur
        Il faut savoir que un "P 1 .." est toujours précédé d'une ligne "P 0 .."
        L'inverse est il valable :
        Un P 0 est il toujours précédé d'un P 1 ???

        Je ne comprends pas le #NOM... Y a t'il d'autres types de données dans tes colonnes?

        personnellement, je te recommande la solution de lermitte(salut au passage)...
        0
      2. Contributeur
        Bonsoir
        je ne suis pas sur d'avoir compris, mais je pense que Pijaku n'était pas loin de la vérité.
        Vérifier toutefois si c'est ce que vous souhaitez:
        si votre liste commence en ligne 1:
        =SOMMEPROD((A1:A1000="P")*(B2:B1001=1)*(C1:C1000<>""))
        en décalant d'une ligne le champ dans la formule B
        Il me semble que c'est cela que vous voulez mais peut être ai je mal compris.
        Crdlmnt
        0
    3. Contributeur
      Bonjour pijaku, bof, j'ai pas voulu me compliquer la vie :-(
      Rectificatif..
      =SOMMEPROD((A1:A1000="P")*(B2:B1001=1)*(C1:C1000<>""))

      L'expérience instruit plus sûrement que le conseil. (André Gide)
      Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
      0
      1. Contributeur
        Excusez moi cher ami, je n'avais pas vu votre post.... sinon je me serais abstenu.
        Crdlmnt
        0
    4. En fait, deux solutions arrivent à des résultats identiques...reste à valider leurs exactitudes mais ça me semble cohérent :

      =SOMMEPROD((C1:C1000<>"")*(A1:A1000="P")*(DECALER(C1:C1000;1;-1)=1))

      =SOMMEPROD((A1:A1000="P")*(B2:B1001=1)*(C1:C1000<>""))

      Merci beaucoup à vous!!!
      0