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

  • Votes
  • Date
  • Date décroissante
  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. 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+
      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
    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?
      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)...
      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
    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)
      1. Contributeur
        Excusez moi cher ami, je n'avais pas vu votre post.... sinon je me serais abstenu.
        Crdlmnt
    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!!!