Nb d'occurence de doublons dans colonne Excel [Fermé]

Signaler
-
 Tanguy -
Bonjour,

Sous EXCEL 2007 j'ai une colonne A avec environ 1000 lignes. Dans ces lignes il y a des doublons. Je souhaiterais créer une colonne B ou en face de chaque cellule correspondante de la colonne A s'inscrive le nombre d'occurence des valeurs de la colonne A.

Exemple 1 : dans la colonne A, la valeur "G12" apparaît 5 fois (donc dans 5 lignes différentes). Je souhaiterais ainsi que dans la colonne B le chiffre "5" apparaissent dans chaque cellule de B qui est en face d'une cellule de A avec la valeur "G12".

Exemple 2 : dans la colonne A, la valeur "H43" n'apparaît q'une fois (dans une seule ligne). Ainsi je souhaiterais qu'apparaisse automatiquement la nombre 1 en face de cette valeur en colonne B.



A B

J20 2
G12 5
J20 2
G12 5
G12 5
L14 1
M33 1
G12 5
H43 1
V58 1
G12 5

Pouvez-vous m'aider?

Salutations,

Jean


4 réponses

Messages postés
26101
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 juillet 2021
5 986
Bonjour

à tirer sur la hauteur de B, départ en B1:
=NB.SI(A:A;A1)
vous donne à chaque cellule le nombre de fois où la valeur de A1 est dans A:A
et aussi:
=NB.SI($A$1:A1;A1)
vous donne le nombre de fois ou la valeur de A1 se situe dans le champ arrêté au niveau de la ligne ou se trouve la formule.(A tout hasard)

pour remplir rapidement le champ B:
sélectionner le champ sur toute la hauteur
entrer la formule correspondante à la 1° cellule
et valider avec enter et la touche ctrl enfoncée.

crdlmnt
14
Merci

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez Comment Ça Marche

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci "Vaucluse", la formule =NB.SI(A:A;A1) fonctionne parfaitement, le résultat est bien celui que j'attendais.
Bravo et merci...
Merci Vaucluse. après 11 ans: "=NB.SI($A$1:A1;A1)
vous donne le nombre de fois ou la valeur de A1 se situe dans le champ arrêté au niveau de la ligne ou se trouve la formule.(A tout hasard)". Tu règles un pb vieux de 5 ans chez moi :-)
Bonjour

si la colonne A débute en ligne 2
fonction : =NB.SI(A$2:A$1100;A2)
ou remplacer, dans cette formule, A$2:A$1100 par le nom de la liste en A, préalablement nommée

Cordialement
Merci "rominet", ta formule =NB.SI(A$2:A$1100;A2) me donne également le résultat escompté!
alors je viens de faire ça sur une feuille qui comporte environs 600000 lignes (six cents mille, oui oui) et du coup excel se plante lamentablement.
je laisse le poste allumé la nuit, on verras demain si il fait bien le traitement.

par contre le délais est inacceptable pour du récurant en production...

y a pas mieux comme solution ?
Ce matin la colonne est remplie, j'applique un filtre pour voir uniquement les doublons, et là c'est le drame : excel se fige encore.

Ma conclusion est que cette méthode ne conviens pas pour un fichier contenant beaucoup de lignes :(

peut être du VBA ou une macro serait plus adapté ? si vous avez une idée je suis preneur.
Messages postés
16490
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
18 juillet 2021
3 195 > K4M1
Bonjour,
les filtres simples ne fonctionnent pas au delà de 1000 lignes...
Messages postés
16490
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
18 juillet 2021
3 195
Re, une solution en VBA

200 000 lignes traitées en un peu moins d'une seconde (occurrences uniques enlevées)
http://www.cjoint.com/c/FEFiZXudRQt