Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

les 3 noms les plus répétés

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

spectarus

XLDnaute Nouveau
bonjour à tous !

je cherche 3 formules qui me donneront les 3 noms les plus répétés dans une plage de noms

j'ai déjà trouvé la formule pour le nom le plus répété de tous, il me reste les deux autres formules pour le 2nd et le 3ème noms les plus répétés

Ci-joint un petit fichier pour bien comprendre...

Merci de prendre en compte le fait que le fichier excel est sans macro...

Merci d'avance de m'avoir consacré du temps.

Bonne journée à toutes et à tous
 

Pièces jointes

Re : les 3 noms les plus répétés

Bonjour à tous,

Une solution qui utilise la colonne auxiliaire B avec cette formule en B2 :

Code:
=SI(NB.SI(A$1:A1;A2)=0;NB.SI(A$2:A$21;A2)-LIGNE()/10000000000)
Formule donnant le résultat en E3, à tirer vers le bas :

Code:
=INDEX(A$2:A$21;EQUIV(GRANDE.VALEUR(B$2:B$21;LIGNES(E$2:E2));B$2:B$21;0))
Fichier joint.

A+
 

Pièces jointes

Re : les 3 noms les plus répétés

David84 ! ça marche aussi 😀 et même si ça passe par deux formules elle n'a pas de bug contrairement à celle de BOISGONTIER si un nom est répété une fois il ne figure pas avec sa formule ! il faut au minimum 2 même noms ! je vais voir avec ! for me it's time to go back home ! will answer u next week ! thanks for everything and for all ! have a great week end everyone 🙂
 
Re : les 3 noms les plus répétés

Bonjour à tous

Personnellement en VBA avec un petit code de JB, c'est quand même assez pratique et en plus, même pas la peine de se prendre la tête 🙂.


Code:
Sub ScriptingCompteItems()
'JB [url=http://boisgontierjacques.free.fr/]Formation Excel VBA JB[/url]
'prendre l'objet Scripting Dictionary
  Set Mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range("a1", [a65000].End(xlUp))
    Mondico(c.Value) = Mondico(c.Value) + 1
  Next c
  [C2].Resize(Mondico.Count, 1) = Application.Transpose(Mondico.keys)
  [D2].Resize(Mondico.Count, 1) = Application.Transpose(Mondico.items)
  [C2].Sort Key1:=[D2], Order1:=xlDescending, Header:=xlNo
  Set Mondico = Nothing
End Sub
 
Re : les 3 noms les plus répétés

Re,

On peut peaufiner avec cette formule en D4 :

Code:
=SI(F4=F3;INDEX(D$3:D3;EQUIV(F4;F$3:F3;0))&" ex aequo";LIGNES(D$3:D4)&"ème")
Fichier (2).

NB : on peut facilement éviter les valeurs d'erreur en colonne E mais ce n'est pas d'un grand intérêt...

A+
 

Pièces jointes

Re : les 3 noms les plus répétés

Bonjour à tous,

J'y viens aussi de mes p'tites formules matricielles (ce ne sont pas les plus simples). On a défini 3 noms dynamiques : Pnom0, Pnom, Div.

La formule matricielle (à valider par Ctrl+Maj+Entrée) donnant les noms (en D6 à tirer/copier vers le bas):
Code:
=INDEX(A:A;Div*MOD(GRANDE.VALEUR(SI(FREQUENCE(EQUIV(Pnom;Pnom;0);EQUIV(Pnom;Pnom;0))=0;"";FREQUENCE(EQUIV(Pnom;Pnom;0);EQUIV(Pnom;Pnom;0))+LIGNE(Pnom0)/Div);C3);1))

La formule matricielle (à valider par Ctrl+Maj+Entrée) donnant les fréquences (en E6 à tirer/copier vers le bas):
Code:
=ARRONDI(GRANDE.VALEUR(SI(FREQUENCE(EQUIV(Pnom;Pnom;0);EQUIV(Pnom;Pnom;0))=0;"";FREQUENCE(EQUIV(Pnom;Pnom;0);EQUIV(Pnom;Pnom;0))+LIGNE(Pnom0)/Div);C3);0)
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
149
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…