Compter cellules avec particularités
Résolu
tonio22
-
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!!!
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
-
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<>"")) -
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+ -
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?-
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)... -
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
-
-
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) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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!!!