Compter sans les doublons et tenant compte des homonymes

draz

XLDnaute Nouveau
Bonjour tout le monde,

J'aurai besoin de vos lumières. Je souhaite trouver une formule qui me compte le nombre de personnes présentes dans une liste en tenant compte des homonymes et sans tenir compte des doublons. J'ai dans la colonne A le champ "Nom-Prénom". Dans la colonne B le champ "Date Naissance" et dans la colonne C l'age de la personne).
Je ne dois pas compter les personnes en double mais je dois faire attention que c'est bien la même personne que j'ignore avec la date de naissance.

J'ai testé avec la fonction =SOMME(SI(A2:A50<>"";1/NB.SI(A2:A50;A2:A50))) (formule trouvée ici) mais cette dernière me considère les homonymes comme doublon alors qu'ils n'ont pas la meme date de naissance. J'ai essayé de la croiser avec une condition sur la colonne B mais j’obtiens a chaque fois 0 comme résultat.
J'essaie de plus de la croiser avec les ages de manières a compter les personnes qui ont moins de 18 ans par exemple (toujours en faisant attention aux doublons et aux homonymes).

Je vous joint un fichier pour plus de clarté.

Par avance merci, vos conseils seront les bienvenus

Draz
 

Pièces jointes

  • compter.xls
    47.5 KB · Affichages: 99
  • compter.xls
    47.5 KB · Affichages: 105
  • compter.xls
    47.5 KB · Affichages: 97

R@chid

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Bonjour et Bienvenu sur XLD,
Si j'ai bien compris,
essayer avec :
Code:
=NB(1/FREQUENCE(SI(A2:B50<>"";EQUIV(A2:A50&B2:B50;A2:A50&B2:B50;0));LIGNE(INDIRECT("1:"&LIGNES(A2:A50)))))
@ valdier par Ctrl+Maj+Entree
Amicalement
 

R@chid

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Re,
une simplification, en utilisant des plages dynamiques nommées,
voir PJ
Amicalement

Edit : Salut Patrick
 

Pièces jointes

  • compter.xls
    48 KB · Affichages: 120
  • compter.xls
    48 KB · Affichages: 119
  • compter.xls
    48 KB · Affichages: 122
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Bonjour, et bienvenue sur XLD :)

Concaténez les colonnes A et B dans une colonne intermédiaire (E par exemple) :
en E2 : =A2&B2
à recopier vers le bas,
Et utilisez cette formule matricielle (Validation par Ctrl + Maj + Entrée) sur cette colonne (qui peut être masquée) :
=SOMME(SI(E2:E50<>"";1/NB.SI(E2:E50;E2:E50)))

Edit : Bonjour, R@chid
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Bonjour rachid,

Avant de continuer à chercher j'ai testé ta proposition.
Elle est correcte sauf que tu comptes 1 en plus s'il y a des cellules vides.
tu trouves 9 au lieu de 8 (et non 7 comme annoncé)
Il y a peut-être mieux mais j'ai corrigé en :
=NB(1/FREQUENCE(EQUIV(A2:A50&B2:B50;A2:A50&B2:B50;0);LIGNE(INDIRECT("1:"&LIGNES(A2:A50)))))-(NB.VIDE(A2:A50)>0)*1

Il reste la question subsidiaire ;-)

eric
 

R@chid

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Salut Eric,
J'ai remarquée, et je l'ai modifié sur mon premier Post tu peux revoir la matricielle sur Post #2
et pour simplifier j'ai donnée la 2eme proposition sur le post #3,
pour la correction que tu as fait on peut la simplifier, comme suite :
=NB(1/FREQUENCE(EQUIV(A2:A50&B2:B50;A2:A50&B2:B50;0);LIG NE(INDIRECT("1:"&LIGNES(A2:A50)))))-1
validation Classique, car même les vides on ne les va compter qu'une fois
Amicalement


Edit : Je ne sais pas comment tu as récupérer ma première formule je l'ai modifiée dans moins de 30 secondes ça ce voit même pas comme post édité
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Bonjour,
J'ai pas lu la question Subsidiaire,
sur mon fichier en Post #3 :
Code:
=NB(1/FREQUENCE(SI(Col_Age<=18;EQUIV(Col_NoPr&Col_DtNss;Col_NoPr&Col_DtNss;0));LIGNE(INDIRECT("1:"&LIGNES(Col_NoPr)))))
@ valider par Ctrl+Maj+Entree
Amicalement

Edit :
à condition qu'il y ait au moins une cellule vide.
Oui c'est vrai...
 

draz

XLDnaute Nouveau
Re : Compter sans les doublons et tenant compte des homonymes

Merci à tous pour vos réponses, ça fonctionne parfaitement.
J'essaie cependant de comprendre la formule et je n'arrive pas a voir où sont définies les zones Col_NoPr, Col_DtNss et Col_Age. Je ne vois rien au niveau des zones noms.

Encore merci
 

draz

XLDnaute Nouveau
Re : Compter sans les doublons et tenant compte des homonymes

Je vais encore abuser de vos lumières.
A la vue de ce que je pouvais faire avec ces formules je me demande si il est possible de compter comme cela avec deux conditions.
Par exemple compter le nombre de personnes de moins de 18 ans qui sont nés au mois de Janvier.
J'ai essayé de rajouter un ET dans la fonction SI pour ajouter cette condition mais ça ne fonctionne pas, ça aurait été trop beau.

jai essayé =NB(1/FREQUENCE(SI(ET(Col_Age<18;Col_Mois=1);EQUIV(Col_NoPr&Col_DtNss;Col_NoPr&Col_DtNss;0));LIGNE(INDIRECT("1:"&LIGNES(Col_NoPr)))))

Col_Mois étant la colonne dans laquelle j'extrais le numéro du mois de naissance

Merci par avance et bravo encore
 

R@chid

XLDnaute Barbatruc
Re : Compter sans les doublons et tenant compte des homonymes

Bonsoir,
Tu n'as pas besoin d'ajouter une colonne pour les mois,
la fonction ET() n'est pas conseillée en matricielle remplacer la par ()*()
sur mon fichier :
Code:
=NB(1/FREQUENCE(SI((MOIS(Col_DtNss)=1)*(Col_Age<18);EQUIV(Col_NoPr&Col_DtNss;Col_NoPr&Col_DtNss;0));LIGNE(INDIRECT("1:"&LIGNES(Col_NoPr)))))
@ valider toujours par Ctrl+Maj+Entree
Amicalement
 

Discussions similaires

Réponses
16
Affichages
687

Statistiques des forums

Discussions
312 221
Messages
2 086 382
Membres
103 199
dernier inscrit
ATS1