EXCEL : classer les valeurs en 10 rangs

Fermé
petit.renard29 - 3 sept. 2013 à 12:19
eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 - 14 sept. 2013 à 10:13
Bonjour,


Je souhaite classer un certain nombre (variable) de valeurs, en 10 rangs, c'est à dire créer un étalonnage.

Je connais la fonction "RANG" dans excel, qui permet de classer les valeurs, dans l'ordre croissant ou décroissant, mais cette fonction permet à certaines valeurs d'atteindre le rang 25 par exemple.

Dans moin cas, je souhaite que :
- toutes les valeurs les plus basses aient le rang 1
- toutes les valeurs les plus hautes aient le rang 10
- les valeurs intermédiaires se partagent de manière équitable entre rang 1 et rang 10

Merci d'avance pour vos réponses


A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
3 sept. 2013 à 12:44
Peut être (?) la manière douce, qui regroupe un peu aussi les extrêmes:

pour un champ de A1à A50:

=ARRONDI(RANG(A20;$A$1:$A$50;1)*9/(NBVAL($A$1:$A$50));0)+1

Pour une liste de N° de 1 à 50, cette formule place au 10° rang les valeurs 48,49,50 et au premier rang les valeurs 1 et 2

les autres se répartissent le reste.

crdlmnt

0
petit.renard29
13 sept. 2013 à 18:44
Merci ! je vais essayer ça !

Cela dit, cette méthode implique que je calcule ça sur un nombre de valeurs fini, dans ton exemple : 50 données.

Aurais-tu connaissance d'une procédure permettant de faire évoluer le classement en fonction du nombre de valeurs présentes ? (NB: ces valeurs seront toutes comprises entre -24 et 44).

Merci d'avance !!

PS : désolée de ne pas répondre plus tôt, j'ai un accès à internet limité, avec des restrictions de connexions, notamment sur les forums... J'essaie de faire sauter ça, mais je dois pas encore être assez convaincante :(
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
13 sept. 2013 à 18:56
Bonsoir

si vos valeurs sont dans un e liste A:A, sans trou et commençant en A1:

=ARRONDI(RANG(A20;DECALER($A$1;;;NBVAL!A:A);1)*9/(NBVAL($A$:$A$));0)+1

vous donnera ça sur la hauteur du champ rempli

crdlmnt
0
petit.renard29
13 sept. 2013 à 19:18
Super !! j'essaierai ça lundi !! je vous tiens au courant
0
eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 236
14 sept. 2013 à 10:08
Bonjour,

il semble qu'il y ait 2 pb sur ta formule vaucluse :
=ARRONDI(RANG(A20;DECALER($A$1;;;NBVAL!A:A);1)*9/(NBVAL($A$:$A$));0)+1
Que j'ai corrigé en :
=ARRONDI(RANG(A2;DECALER($A$2;;;NBVAL($A:$A)-1);1)*9/(NBVAL($A:$A)-1);0)+1
(avec 1 ligne d'entête)
Mais je pense qu'il veut 10 paquets de x nombres.

eric
0
eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 236
14 sept. 2013 à 10:13
Bonjour à tous,

Je n'ai pas compris pareil, autre proposition :
=MAX((A2>=CENTILE(DECALER($A$2;;;NBVAL($A:$A)-1);{0;0.1;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9}))*{1;2;3;4;5;6;7;8;9;10}) 
Bien sûr, s'il y un un nombre répété beaucoup de fois, les paquets risquent d'être déséquilibrés.
https://www.cjoint.com/?CIokm4pp6NI

eric
0