=EQUATION.RANG(B2;$B$2:$B$7) renvoie la position de B2 parmi les valeurs de B2:B7, la plus grande valeur étant classée 1. Pour classer d'abord la plus petite valeur, ajoutez 1 en troisième argument : =EQUATION.RANG(B2;$B$2:$B$7;1). EQUATION.RANG s'appelle RANK.EQ dans un Excel anglais ; le tableau affiche les formules sous cette forme, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Sales | Rank (high = 1) | Rank (low = 1) |
| 2 | Ana | 4200 | 3 | 4 |
| 3 | Ben | 3100 | 5 | 2 |
| 4 | Cleo | 5600 | 1 | 6 |
| 5 | Dan | 2800 | 6 | 1 |
| 6 | Eve | 4900 | 2 | 5 |
| 7 | Finn | 3700 | 4 | 3 |
=EQUATION.RANG(B2;$B$2:$B$7)Cleo a les ventes les plus élevées : rang 1 en colonne C et 6 en colonne D. Mettez les ventes de Dan à 6000 et tous les rangs se mettent à jour.
Syntaxe de EQUATION.RANG
=RANK.EQ(number, ref, [order])
number(nombre) : la valeur à classer, en général la cellule de la même ligne.ref: la liste dans laquelle la classer. Rendez-la absolue ($B$2:$B$7) pour qu'elle reste la même sur chaque ligne quand vous recopiez la formule vers le bas.order(ordre) : omettez-le ou mettez0pour un ordre décroissant (la plus grande vaut 1), mettez1pour un ordre croissant (la plus petite vaut 1).
Le texte et les cellules vides de ref sont ignorés. Si number ne figure pas du tout dans ref, EQUATION.RANG renvoie #N/A (même nom en français et en anglais).
EQUATION.RANG et MOYENNE.RANG sont apparues dans Excel 2010. L'ancienne fonction RANG (RANK) fonctionne toujours et donne le même résultat qu'EQUATION.RANG ; Google Sheets propose les trois.
Ex aequo : EQUATION.RANG ou MOYENNE.RANG
Quand des valeurs sont à égalité, EQUATION.RANG leur donne à toutes le même rang et saute les rangs qu'elles occupent, comme dans un classement sportif : deux personnes à la deuxième place, puis la quatrième. MOYENNE.RANG (RANK.AVG) donne à chaque valeur à égalité la moyenne des positions qu'elles partagent.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Score | RANK.EQ | RANK.AVG | Unique rank |
| 2 | Ana | 95 | 1 | 1 | 1 |
| 3 | Ben | 88 | 2 | 3 | 2 |
| 4 | Cleo | 88 | 2 | 3 | 3 |
| 5 | Dan | 76 | 5 | 5 | 5 |
| 6 | Eve | 88 | 2 | 3 | 4 |
| 7 | Finn | 64 | 6 | 6 | 6 |
=EQUATION.RANG(B3;$B$2:$B$7)Ben, Cleo et Eve sont à égalité à 88. EQUATION.RANG leur donne 2 à tous les trois et 5 à Dan. MOYENNE.RANG leur donne 3, la moyenne des positions 2, 3 et 4.
La colonne E départage les ex aequo selon l'ordre de la liste : NB.SI($B$2:B2;B2) compte combien de fois la note est apparue jusqu'ici, du haut jusqu'à cette ligne (seule la fin de la plage bouge pendant la recopie). Le premier 88 ajoute 0, le deuxième 1, le troisième 2 : chaque rang de 1 à 6 apparaît donc exactement une fois. C'est la version à utiliser quand un rang alimente une recherche comme "qui est numéro 3", car une recherche a besoin que chaque rang soit unique.
Classer au sein d'un groupe
Il n'existe pas de RANG.SI. Pour classer chaque commercial uniquement face aux autres de la même région, comptez combien de personnes de cette région ont vendu plus, et ajoutez 1 :
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Region | Sales | Rank in region |
| 2 | Ana | North | 4200 | 3 |
| 3 | Ben | South | 3100 | 3 |
| 4 | Cleo | North | 5600 | 1 |
| 5 | Dan | South | 2800 | 4 |
| 6 | Eve | North | 4900 | 2 |
| 7 | Finn | South | 3700 | 1 |
| 8 | Gia | North | 3900 | 4 |
| 9 | Hal | South | 3300 | 2 |
=NB.SI.ENS($B$2:$B$9;B2;$C$2:$C$9;">"&C2)+1Cleo est en tête de North et Finn de South. Passez la région d'Ana à South : les rangs de North se resserrent et South compte une cinquième personne. Pour des rangs croissants dans un groupe, utilisez plutôt "<"&C2. Les ex aequo se comportent comme avec EQUATION.RANG : les valeurs à égalité partagent un rang. Le comptage avec plusieurs conditions est détaillé sur la page NB.SI.ENS.
Afficher le top 3 à partir du rang
Une colonne de rang répond à "à quelle place est cette personne" ; pour répondre à "qui est à la première place", cherchez le rang. Avec des rangs uniques en colonne C, =RECHERCHEX(1;C2:C7;A2:A7) renvoie le nom classé 1 (dans Excel 2019 et les versions antérieures, =INDEX(A2:A7;EQUIV(1;C2:C7;0))). Sans colonne de rang, =GRANDE.VALEUR(B2:B7;2) renvoie directement la deuxième plus grande valeur, et =TRIERPAR(A2:B7;B2:B7;-1) liste tout le tableau de la plus grande à la plus petite valeur (Excel 2021 ou Microsoft 365 ; voir TRIER et TRIERPAR).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Sales | Rank | Place | Name | |
| 2 | Ana | 4200 | 3 | 1 | Cleo | |
| 3 | Ben | 3100 | 5 | 2 | Eve | |
| 4 | Cleo | 5600 | 1 | 3 | Ana | |
| 5 | Dan | 2800 | 6 | |||
| 6 | Eve | 4900 | 2 | |||
| 7 | Finn | 3700 | 4 |
=RECHERCHEX(E2;$C$2:$C$7;$A$2:$A$7)La colonne C est le rang unique de la section sur les ex aequo : une égalité ne peut donc jamais laisser une place vide. F2 à F4 listent Cleo, Eve et Ana. Mettez les ventes d'Ana à 6000 et elle passe en tête.
Essayez : le coureur le plus rapide en premier
| A | B | C | |
|---|---|---|---|
| 1 | Runner | Time | Rank |
| 2 | Ana | 58.4 | |
| 3 | Ben | 55.1 | |
| 4 | Cleo | 61.9 | |
| 5 | Dan | 53.7 | |
| 6 | Eve | 57.3 | |
| 7 | Finn | 60.2 |
À vous : En C2, classez le temps d'Ana en B2 parmi tous les temps de B2:B7, de sorte que le temps le plus rapide (le plus bas) soit classé 1. La formule est recopiée jusqu'à C7 : utilisez des références absolues pour la liste.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Class | Score | Rank in class |
| 2 | Ana | Red | 81 | |
| 3 | Ben | Red | 92 | |
| 4 | Cleo | Blue | 77 | |
| 5 | Dan | Red | 69 | |
| 6 | Eve | Blue | 95 | |
| 7 | Finn | Red | 85 | |
| 8 | Gia | Blue | 88 |
À vous : En D2, classez la note d'Ana uniquement parmi les élèves de sa propre classe (colonne B), la meilleure note étant classée 1. La formule est recopiée jusqu'à D8.
Erreur fréquente : une plage relative
Sans les signes $, la plage descend d'une ligne à chaque recopie de la formule : chaque ligne est classée dans une liste qui rétrécit et commence à sa propre ligne. Les rangs semblent plausibles mais sont faux :
| A | B | C | |
|---|---|---|---|
| 1 | Name | Sales | Rank |
| 2 | Ana | 4200 | 3 |
| 3 | Ben | 3100 | 4 |
| 4 | Cleo | 5600 | 1 |
| 5 | Dan | 2800 | 3 |
| 6 | Eve | 4900 | 1 |
| 7 | Finn | 3700 | 1 |
=EQUATION.RANG(B4;B4:B9)Cliquez sur C4 : sa plage est B4:B9, donc Cleo n'est comparée qu'aux personnes de sa ligne et en dessous. Eve affiche le rang 1 alors que Cleo a vendu plus, et Finn affiche 1 car il n'est comparé qu'à lui-même. Remplacez C2 par =RANK.EQ(B2,$B$2:$B$7) (en français =EQUATION.RANG(B2;$B$2:$B$7)) et toute la colonne se corrige. Appuyez sur F4 pendant que le curseur est dans la plage pour ajouter les signes $ (sur Mac, Cmd+T ou Fn+F4) ; les références absolues expliquent pourquoi.
Questions fréquentes
Comment classer des nombres dans Excel ?
Utilisez =EQUATION.RANG(B2;$B$2:$B$7) et recopiez-la vers le bas. La plus grande valeur obtient le rang 1. Gardez les signes $ sur la plage pour qu'elle ne se décale pas pendant la recopie.
Comment classer du plus petit au plus grand dans Excel ?
Ajoutez 1 en troisième argument : =EQUATION.RANG(B2;$B$2:$B$7;1). Utilisez-le pour des temps de course, des prix ou tout ce dont la plus petite valeur doit arriver en premier.
Quelle est la différence entre EQUATION.RANG et MOYENNE.RANG ?
Elles ne diffèrent que pour les ex aequo. Si deux valeurs sont à égalité à la deuxième place, EQUATION.RANG leur donne 2 à toutes les deux et 4 à la valeur suivante. MOYENNE.RANG leur donne 2,5, la moyenne des positions 2 et 3.
Comment classer sans doublons dans Excel ?
Ajoutez un compte cumulé de la valeur : =EQUATION.RANG(B2;$B$2:$B$7)+NB.SI($B$2:B2;B2)-1. La première de deux valeurs à égalité garde le rang et la seconde prend le suivant.
Comment classer au sein d'un groupe dans Excel ?
Comptez les valeurs du même groupe qui sont plus grandes, plus 1 : =NB.SI.ENS($A$2:$A$9;A2;$C$2:$C$9;">"&C2)+1. Il n'existe pas de fonction RANG.SI.