Microsoft 365 EXCEL /vba recherche une fonction MODE() améliorée

Antipode

XLDnaute Nouveau
Bonjour à tous!,
Je reviens encore vers vous pour un petit soucis qui me bloque depuis quelques heures...
J'ai une colonne excel avec des valeurs numériques:
par exemple : 2 ; 10 ; 32; 5 ;2 ; 8 ; 8 ;2; 4

J'ai besoin d'identifier la valeur la plus fréquente de cette série et j'ai donc utilisé la fonction MODE(), qui fonctionne très bien et me sort dans mon cas la valeur "2".
Maintenant j'aimerais pouvoir sortie aussi, la 2eme valeur la plus fréquente !.. (qui serait ici: 8) et là, je ne trouve pas !..
J'ai pas trouvé de fonction, et je ne suis pas contre un script vba pour me sortir l'info, mais je pédale un peu..
quelqu'un peut m'aider svp ?
merci d'avance..
 

Laurent78

XLDnaute Occasionnel
Bonjour Antipode,
Merci pour le lien
 

Modeste geedee

XLDnaute Barbatruc
Bonsour
Bonjour à tous!,
Je reviens encore vers vous pour un petit soucis qui me bloque depuis quelques heures...
J'ai une colonne excel avec des valeurs numériques:
par exemple : 2 ; 10 ; 32; 5 ;2 ; 8 ; 8 ;2; 4

J'ai besoin d'identifier la valeur la plus fréquente de cette série et j'ai donc utilisé la fonction MODE(), qui fonctionne très bien et me sort dans mon cas la valeur "2".
Maintenant j'aimerais pouvoir sortie aussi, la 2eme valeur la plus fréquente !.. (qui serait ici: 8) et là, je ne trouve pas !..
J'ai pas trouvé de fonction, et je ne suis pas contre un script vba pour me sortir l'info, mais je pédale un peu..
quelqu'un peut m'aider svp ?
merci d'avance..
Voir la fonction FREQUENCE
Puis la fonction RANG
 

R@chid

XLDnaute Barbatruc
Re,

Excel pour Microsoft 365

en F2 :
VB:
=UNIQUE(INDEX(A1:A10;EQUIV(TRIER(NB.SI(A1:A10;A1:A10)+A1:A10/9^9;;-1);NB.SI(A1:A10;A1:A10)+A1:A10/9^9;0)))

Ou bien si ton Excel est à jour, tu peux bénéficier de la fonction LET(), toujours en F2 :
Code:
=LET(NbTri;NB.SI(A1:A10;A1:A10)+A1:A10/9^9;UNIQUE(INDEX(A1:A10;EQUIV(TRIER(NbTri;;-1);NbTri;0))))

Aucune des deux formules ne nécessite l'incrémentation vers le bas


Cordialement
 

Antipode

XLDnaute Nouveau
Re,

Excel pour Microsoft 365

en F2 :
VB:
=UNIQUE(INDEX(A1:A10;EQUIV(TRIER(NB.SI(A1:A10;A1:A10)+A1:A10/9^9;;-1);NB.SI(A1:A10;A1:A10)+A1:A10/9^9;0)))

Ou bien si ton Excel est à jour, tu peux bénéficier de la fonction LET(), toujours en F2 :
Code:
=LET(NbTri;NB.SI(A1:A10;A1:A10)+A1:A10/9^9;UNIQUE(INDEX(A1:A10;EQUIV(TRIER(NbTri;;-1);NbTri;0))))

Aucune des deux formules ne nécessite l'incrémentation vers le bas


Cordialement
whow... super compact, mais je suis frustré de pas la comprendre
cette belle formule :). Merci... je crois qu'elle va résoudre aussi mon problème
 

R@chid

XLDnaute Barbatruc
Re,
whow... super compact, mais je suis frustré de pas la comprendre
Je ne sais pas qu'est-ce que tu n'as pas compris dans la ou les deux formules ?

cette belle formule :). Merci... je crois qu'elle va résoudre aussi mon problème
Si tu te demandes si elle va résoudre ton problème, ça veut dire que tu ne l'as pas encore essayée.
Elle va bien le résoudre, sauf si tu cherches juste les deux premières valeurs, fais-moi signe afin de te l'adapter.


Cordialement
 

Discussions similaires

Réponses
5
Affichages
293

Statistiques des forums

Discussions
311 711
Messages
2 081 796
Membres
101 817
dernier inscrit
carvajal