Compter les actions d’un agent

Micke-31

XLDnaute Occasionnel
Bonjour le forum

j’ai récupéré cette formule qui permet de compter les actions colonne B d’un nom colonne A, je rencontre des difficultés à l’interpréter.
Je pense que les experts de se forum pourront me l’expliquer

=SOMMEPROD((NON(ESTERREUR(TROUVE("toto";A2:A20;1)))*(B2:B20="repos")))

Merci à tous ceux qui donnent de leurs temps
 

Brigitte

XLDnaute Barbatruc
Re : Compter les actions d’un agent

Bonjour,

Allons y, je tente :

=SOMMEPROD((NON(ESTERREUR(TROUVE("toto";A2:A20;1)) )*(B2:B20="repos")))


Va faire le comptage de valeurs selon un ou plusieurs critères

((NON(ESTERREUR(TROUVE("toto";A2:A20;1)) )

Ca veut dire que s'il trouve bien "toto" dans la plage A2 à A20, à partir du 1er caractère,

*(B2:B20="repos")))

Il le compte si il y a en plussss "repos" en face dans la plage B2:B20...

En clair il va compter chaque fois qu'il trouve TOTO et repos... si TOTO est présent et pas REPOS, ca compte pas, si TOTO est absent et REPOS présent, ca compte pas non plus.


Fonction TROUVE : =trouve(texte cherché;cellule à vérifier;numéro caractère où commencer).

Si il trouve pas : il met #VALEUR donc on rajoute un test pour éviter ça : si non erreur... veut dire si on trouve bien, s'il n'y a pas erreur.

Ca t'aide ?

PS : si ta cellule en A contenait seulement un nom (et non une suite de caractères pouvant contenir TOTO) et donc une fois TOTO, une fois TITI, une fois TUTU... etc, le sommeprod pourrait être bcp plus compréhensible pour toi, car il serait ainsi :

=sommeprod((A2:A20="toto")*(B2:B20="repos")), ca doit te parler mieux, non ? mais là on ne peut pas a priori dans ton exemple.
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Compter les actions d’un agent

Bonjour,

=SOMMEPROD(NON(ESTERREUR(TROUVE("toto";A2:A20;1)))*(B2:B20="repos"))

TROUVE("toto";A2:A20;1) renvoie un N° de position de la chaine toto dans une cellule. Si elle ne trouve rien elle renvoie #VALEUR
Là elle est appliqué à une matrice A2:A20 elle renvoie par exemple :
{1;#VALEUR!;1;#VALEUR!;#VALEUR!;#VALEUR!;1;#VALEUR!;#VALEUR!;#VALEUR!;1;#VALEUR!;#VALEUR!;1;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!}

Les #VALEUR nous genent on va donc tester l'erreur avec ESTERREUR on va avoir la matrice :
{FAUX;VRAI;FAUX;VRAI;VRAI;VRAI;FAUX;VRAI;VRAI;VRAI;FAUX;VRAI;VRAI;FAUX;VRAI;VRAI;VRAI;VRAI;VRAI}

Mais on veut celle qui ne sont pas en erreur (celles où il y a "toto"), donc on inverse resultat avec NON ça donne :
{VRAI;FAUX;VRAI;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX}
Les VRAI impliquent qu'il y a toto dans la cellule.

(B2:B20="repos") renvoie une matrice :
{VRAI;FAUX;FAUX;VRAI;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX}
Là où il y a VRAI, il y a repos.

Enfin, on multiplie ces 2 matrices, VRAI * VRAI = VRAI le reste (FxV, VxF et FxF) = FAUX. On obtient la matrice :
{1;0;0;0;0;0;1;0;0;0;1;0;0;0;0;0;0;0;0}
(elle est numérique car on à fait une opération (multiplication)
un "1" indique que dans une cellule, il y a "toto" ET dans l'autre il y a "repos"

Il ne reste plus qu'à faire la somme.
SOMMEPROD fait une opération matricielle

Edit : Bonjour Brigitte, plus rapide ;)
 

Brigitte

XLDnaute Barbatruc
Re : Compter les actions d’un agent

Re,

Belle explication, dis donc, c'est toi qui fais les "aides" de fonction dans excel ??? tu pourrais. C'est même bien mieux !!

Ca me fait penser : Micke, quand tu veux de l'aide sur une fonction, tu peux aussi taper "aide sur la fonction", y a un petit lien dans le descriptif des fonctions sur excel... C'est pas toujours bien fait, Catrice est mieux, mais bon... Ca peut aider.

Sans titre 1.jpg
 

Pièces jointes

  • Sans titre 1.jpg
    Sans titre 1.jpg
    44.7 KB · Affichages: 109
  • Sans titre 1.jpg
    Sans titre 1.jpg
    44.7 KB · Affichages: 114

Micke-31

XLDnaute Occasionnel
Re : Compter les actions d’un agent

Bonjour et merci à tous les deux pour vos explications.
J’ai déjà eu à faire à Catrice qui est remarquable, sans vouloir enlever le mérite aux autres intervenants tout aussi remarquable.
J’utilise couramment l’aide mais cette imbrication de fonction est inexploitable dans l’aide.
Pour ma part je bloquais sur la fonction NON et ne comprenais pas ce qu’elle venait inverser les conditions.
Avec ces explications je dormirais mieux ce soir

Encore merci
 

Catrice

XLDnaute Barbatruc
Re : Compter les actions d’un agent

Re,

autres astuces :
- tu peux avoir également l'aide sur la fontion (à partir de Excel 2002 je crois) en activant la barre de formule et en cliquant sur la formule dans la bulle.
- en selectionnant, dans la barre de formule, une opération (par exemple B2:B20="repos") et en faisant F9, la formule est évaluée.
On peut le faire successivement en remontant dans la formule.
Ca aide ;)
 

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 236
dernier inscrit
Menni