[excel]Liste noms et nombre occurence

TheAlien37 Messages postés 13 Statut Membre -  
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je vous expose mon problème :

J'ai une liste de numéros, j'ai une autre colonne avec une fonction qui recherche les noms correspondants à c'est numéros dans une autre feuille excel du même classeur.
Cette fonction renvoi soit le nom soit #N/A quand elle ne trouve pas.

Ce que je voudrais dans une autre colonne c'est établir la liste des noms (sans #N/A) et calculer à coté combien de fois ces noms apparaissent dans la plage de données.

J'espère que j'ai été clair et merci beaucoup pour votre aide par avance.

A voir également:

13 réponses

Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

si tu suis mon post, le (#N/A) résulte d'un message d'erreur d'une formule parce ce que les conditions de la formule ne sont pas remplies. Tu peux éviter cet affichage avec cette formule et éviter une colonne suplémentaire

=si(esterreur(place ici ta formule);"";place ici ta formule)

ensuite pour compter un nom
=NB.SI(B1:B36;"X")

si les noms à compter font partis d'une chaine

cette formule comptera le nom seul ou suivi d'une chaine de caractères

=NB.SI(B1:B36;"X*")

ou le nom inséré dans la chaine
=NB.SI(B1:B36;"*X*")
2
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
Bonjour.

Avec une formule, je ne sais pas trop.
Mais tu peux activer le bouton filtrage et faire un tri : les lignes contenant #N/A seront regroupées à la fin.
Et pour les décomptes tu peux choisir entre :
* utiliser l'assistant Sous-total,
* employer la fonction SOMME.SI ou la fonction SOMMEPROD
* élaborer un tableau croisé dynamique.
1
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

prenons un exemple, ta première ligne doit être vide, en colonne F à partir de F2 tu as ta formule avec gestion d'erreur qui te donnera une liste de noms avec des cellules vides en remplacement des (#N/A)

=si(esterreur(place ici ta formule);"";place ici ta formule)

en colonne G à partir de G2, G1 doit être vide cette formule matricielle à confirmer en même temps les trois boutons Ctrl, Shift et Entrée à incrémenter vers le bas te donnera une liste sans doublon et sans vide

=INDEX(A$1:A$1000;MIN(SI(NB.SI(G$1:G1;A$3:A$1000)=0;SI(A$3:A$1000<>"";LIGNE(A$3:A$1000)))))&""

en face G2 cette formule que tu incrémentes sur la hauteur de la liste te donnera le nombre de nom dans ta liste
=NB.SI(F2:F1000;G2)

Si tu n'y arrive pas, je te ferai dans la soirée un exemple
1
TheAlien37 Messages postés 13 Statut Membre
 
Tes explications sont très claires mais ça ne fonctionne pas .. apparemment il y a un problème "circulaire". Si je récapitule la formule dont j'ai besoin c'est :
Fonction : création d'une liste sans doublon
Lire la colonne "noms" (colonne A)
Si le nom n'apparait pas dans la liste sans doublon (colonne B) écrire le nom
Sinon lire la ligne suivante (A) et refaire ce même test.

Ca à l'air facile comme ça mais je me prend la tête dessus depuis 2 jours. Si tu réussis tu deviens mon héros !!

Merci d'avance encore.
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut,

déjà tu peux éviter le (#N/A) en complétant ta formule par exemple =si(esterreur(ta formule);"";ta formule)

ensuite pour te proposer une formule précise l'idéal serait d'avoir ton fichier sans notes confidentielles à joindre à partir de ce lien

https://www.cjoint.com/

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0

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

Posez votre question
TheAlien37 Messages postés 13 Statut Membre
 
Je ne peux pas diffuser ces données. Je crois que je vais essayé le tableau croisé dynamique.

Merci à tous les 2.
0
TheAlien37 Messages postés 13 Statut Membre
 
Le problème c'est que j'ai plus de 1000 noms possibles par mois, et sur c'est 1000 seulement une vingtaine, différent à chaque fois ce retrouve dans la liste que j'extrait. Et à partir de celle là, je veux extraire les noms en supprimant les doublons automatiquement.

J'ai trouvé cette fonction :


Compter le nombre de valeurs uniques à l'aide d'un filtre


La boîte de dialogue Filtre avancé permet d'extraire les valeurs uniques d'une colonne de données et de les coller à un nouvel emplacement. Utilisez ensuite la fonction LIGNES pour compter le nombre d'éléments contenus dans la nouvelle plage.

1. Sélectionnez la plage de cellules ou vérifiez que la cellule active se trouve dans un tableau.

Vérifiez que la plage de cellules comporte un en-tête de colonne.

2. Sous l'onglet Données, dans le groupe Trier et filtrer, cliquez sur Avancé.

La boîte de dialogue Filtre avancé s'affiche.

3. Cliquez sur Copier vers un autre emplacement.
4. Dans la zone Copier vers, entrez une référence de cellule.

Ou bien, cliquez sur Réduire la boîte de dialogue image du bouton afin de masquer temporairement la boîte de dialogue, puis sélectionnez la cellule dans la feuille de calcul et appuyez sur Développer la boîte de dialogue image du bouton.

5. Activez la case à cocher Extraction sans doublon, puis cliquez sur OK.

Les valeurs uniques de la plage sélectionnée sont copiées au nouvel emplacement en commençant par la cellule spécifiée dans la zone Copier vers.

6. Dans la cellule vide située en dessous de la dernière cellule de la plage, entrez la fonction LIGNES. Utilisez la plage de valeurs uniques que vous venez de copier en tant qu'argument. Par exemple, si la plage de valeurs uniques est B2:B45, entrez :

=ROWS(B2:B45)

Le problème :

La fonction extrait la fonction (rechercheV "parmis plus de 3000 noms)" de chaque case et non le résultat qui est une chaine de caractère (les noms).
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

je comprends que ton fichier est confidentiel mais rien ne t'empêche de créer un exemple avec les entêtes de colonne et quelques données bidons en respectant les numéros de colonne.
tu peux également apporter quelques explications et je te fais les formules qu'il te suffira de copier
0
TheAlien37 Messages postés 13 Statut Membre
 
Ca y est j'ai créé un exemple .. mais question bête ... comment je le partage ou te l'envoie ?
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Clic sur ce lien/Parcourir pour sélectionner le fichier/Créer le lien/copie dans un post le lien généré

https://www.cjoint.com/
0
TheAlien37 Messages postés 13 Statut Membre
 
Et voilà, merci pour ta patience !

http://cjoint.com/?0DrlxZiTNrB</code>
    
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

ton lien n'est pas bon, ce n'est pas le lien généré que tu as copié
recommence voir
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Bonsoir l'ami,

c'est bon j'ai récupéré le fichier, je regarderai ça que demain en début d'après midi ça ne ma semble pas très compliqué.
Cordialement
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 398
 
TheAlien37.

Ta formule en F2 ne fonctionne pas car la référence de la feuille contenant la matrice est fausse : tu as écrit 'Liste utilisateurs'!, avec un S, alors que la feuille s'appelle Liste utilisateur, sans S !

D'autre part ta formule étant destinée à être recopiée vers le bas, il te faut
* soit figer les références de la matrice et mettant 'Liste utilisateurs'!$A$2:$B$3255 à la place de 'Liste utilisateurs'!A2:B3255
* donner un nom (tab par exemple) à cette plage et écrire en F2 ta formule
=SI(ESTERREUR(RECHERCHEV(B2;tab;2;0));"";RECHERCHEV(B2;tab;2;0))

Une fois que tu as ta liste complète, utilise la commande Données/Supprimer les doublons pour créer une liste sans doublons. Il sera facile ensuite de décompter, soit avec la fonction SOUS-TOTAL, soit avec la fonction NB.SI.
0
TheAlien37 Messages postés 13 Statut Membre
 
Bonjour,

J'ai bien ajouté les "$" comme vous me l'avez conseillé et j'ai essayé la commande "Données/Supprimer les doublons" plusieurs fois sans succès .. la case reste blanche !
0
TheAlien37 Messages postés 13 Statut Membre
 
CA MARCHE !!!!!!!!!!!!!!!!!!!!

Merci à tous ! Espécialement à Mike-31 (et sa patience) et à Raymond PENTIER !
0
TheAlien37 Messages postés 13 Statut Membre
 
Bon ça marche pour la liste sans doublon mais après il ne compte pas le nombre de fois où le nom apparaît dans la liste (avec doublon) .... Voici ma formule :

=NB.SI($F$2:$F$121;Extraction)
"extraction" car c'est la case de la liste sans doublon qui résultat d'une formule.
$F$2:$F$121 : c'est la liste avec doublon.

??
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

je suis de retour, récupère ton fichier et regarde Feuil3 si c'est ce que tu cherches, onglet Liste Utilisateur tu peux ajouter des références et des Noms, teste le fichier et on en reparle

https://www.cjoint.com/?BDsphBIYDE2
0