Compter cellules avec particularités

Résolu
tonio22 -  
 tonio22 -
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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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. tonio22
       
      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
  3. tonio22
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Excusez moi cher ami, je n'avais pas vu votre post.... sinon je me serais abstenu.
      Crdlmnt
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tonio22
     
    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