Bonjour,
Je cherche sur les forum depuis un moment, j'ai essayé pas mal de trucs et je suis presque au bout... mais ça marche toujours pas complètement... Tout aide sera la bienvenue, merci d'avance.
Mon problème :
- J'ai une liste de personnes en colonne B (de la ligne 5 à 181) avec potentiellement des doublons sur les noms et des cellules vides.
- Pour chaque personne, j'ai (ou pas) une saisie de valeur en colonne M
Je souhaite compter le nombre de personnes ayant une valeur saisie en colonne M (en ne comptant qu'une seule fois les personnes en doublon)
La formule que j'ai trouvée qui marche presque :
=SOMMEPROD(ESTNUM(M$5:M$181)*SI($B$5:$B$181="";0;1/NB.SI($B$5:$B$181;$B$5:$B$181)))
Si on la décortique :
Etape 1 :
SI($B$5:$B$181="";0;1/NB.SI($B$5:$B$181;$B$5:$B$181))
signifie que si le nom n'est pas renseigné en colonne B ($B$5:$B$181="") je mets dans ma matrice 0, sinon je mets 1/NB.SI($B$5:$B$181;$B$5:$B$181), ça me permet de compter le nombre de valeur sans doublon en colonne 5 en acceptant les cellules vides => ça marche (ça me donne une matrice de pondération pour chaque ligne (1 si le nom n'est pas en doublon, 0,5 si nom trouvé 2 fois, 0,3333 si nom trouvé 3 fois,...)
Etape 2 :
ESTNUM(M$5:M$181)* formule_ci_dessus
fait un produit de 2 matrices, celle de mes doublons et celle de ma colonne de saisie M
En gros si j'ai quelque chose de saisie en colonne M pour ma personne on fait x1 sinon on fait x0 => ça marche (ça me donne une matrice mettant 0 si la personne n'a pas de valeur en colonne M, la valeur de l'autre matrice ci-dessous si elle a une saisie)
Etape 3 :
SOMMEPROD()
fait la somme de tout ça => ça marche, ça me donne la somme de toutes les valeurs de ma matrice résultante
MAIS.... j'ai constaté un écart en contrôlant mes résultats et cet écart vient de :
- Si j'ai une personne en doublon, dans la première matrice je vais avoir 0,5 sur la première ligne où apparaît son nom, puis 0,5 pour la deuxième ligne
- Mais... si la personne n'a une valeur en colonne M que sur la première ligne par exemple la matrice résultante (étape 2) donnera 0,5 sur la sa première ligne mais 0 sur sa deuxième ligne
De ce fait, quand on fera la somme (etape 3) ma personne ne comptera que pour 0,5 et non pour 1, du coup ma personne n'est comptée qu'à moitié....
J'ai pensé à une solution mais je n'arrive pas à la mettre en oeuvre...
Il faudrait que je fasse ma recherche de doublon non pas sur ma colonne B mais sur une matrice ne prenant en compte que les noms des gens ayant une valeur en colonne M.... et ça je n'arrive pas à le faire.
J'ai tenté une première étape : SI(ESTNUM(L$5:L$181);B$5:B$181)) qui semble me renvoyer une matrice avec des 0 si pas de valeur en colonne L et le nom de la personne (issu de la colonne B) s'il y a une valeur en L, mais après.... comment faire pour faire un comptage sans doublon de cette matrice résultante ?
Mon cas est assez compliqué et j'ai essayé de l'expliquer de mon mieux.
en espérant que j'ai été assez clair et que quelqu'un pourra m'aider.
D'avance merci
Partager