EXCEL : classer les valeurs en 10 rangs

petit.renard29 -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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

3 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. petit.renard29
     
    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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
    2. petit.renard29
       
      Super !! j'essaierai ça lundi !! je vous tiens au courant
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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