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

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
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
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
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
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
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
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
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
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
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Excusez moi cher ami, je n'avais pas vu votre post.... sinon je me serais abstenu.
Crdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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