Compter les doublons triplons
Bonjour,
Je souhaite compter le nombre des valeurs multiples dans le fichier que voici :
https://www.excel-pratique.com/~files/doc/TMC2QComptage.xls
J'ai pu dénombrer le nombre de collaborateur total pour chaque formateur :
{=SOMME((FREQUENCE(SI(Formateur=C28;SI(Nom<>"";EQUIV(Nom;Nom;0)));LIGNE(Nom))>0)*1)}
Et aussi le nombre total de collaborateur uni-session et donc multisession (par soustraction) :
{=SOMME(SI(NB.SI(Nom;Nom)>1;0;1))}
Mais je n'arrive pas à trouver une formule pour le nombre de collaborateurs multi-session par formateur (en sachant qu'un collaborateur peut avoir X sessions)
J'ai essayé en ajoutant ET() mais ça me donne 1 quand je passe en matriciel :
=SOMME(SI(ET(NB.SI(Nom;Nom)>1;Formateur=C28);0;1))
Bref, je sèche,
Quelqu'un pourrait-il me trouver une solution ?
D'avance merci pour vos recherches
Bonjour Beas
Il n'y a rien à changer dans l'ordre des fonctions dans la formule, si ce n'est la valeur du comparateur
=SOMME((FREQUENCE(SI(Formateur=C27;SI(Nom<>"";EQUIV(Nom;Nom;0)));LIGNE(Nom))[b]>1[/b])*1)
formule à mettre en H27.
Attention, dans la définition des plages, tu as nommé "Nom" ; "Formateur" ; "Lieu" ; "Agence", en commençant à la ligne 2, ce qui est correct en soit. Mais la fonction EQUIV retourne la position de la valeur à chercher, sous forme relative, c'est-à-dire en fonction de la plage indiquée en deuxième argument, exemple =EQUIV("MACHIN";Formateur;0) retourne la valeur 8, ce qui est exact, mais MACHIN se trouve dans la feuille en ligne 9.
La partie de la formule, LIGNE(Nom) retourne une matrice allant de 2 à 22, quand FREQUENCE calculera les intervalles, la valeur 1 sera prise dans l'intervalle 2, ce qui donnera une erreur dans le résultat affiché (exemple F27 dans ton fichier).
Pour résoudre ce problème, tu as trois possibilités.
- Soustraire la valeur 1 pour chaque valeurs de la matrice LIGNE() comme ceci
=SOMME((FREQUENCE(SI(Formateur=C27;SI(Nom<>"";EQUIV(Nom;Nom;0)));LIGNE(Nom)-1)>0)*1)
- Passer toutes les plages en commençant à la ligne 1, et se terminant à la ligne 22.
- Rajouter une plage "Matrice", avec comme référence.
et la formule :
=SOMME((FREQUENCE(SI(Formateur=C27;SI(Nom<>"";EQUIV(Nom;Nom;0)));LIGNE(Matrice))>0)*1)
La dernière solution étant celle à retenir.
J'espère avoir été le plus complet, et le plus explicite, sur cette formule.
Si tu as des questions, n'hésite pas, cela me permet de m'améliorer sur les explications à donner.
@+Jean-Marie