Menu

RANG Excel : EQUATION.RANG, MOYENNE.RANG et ex aequo

=EQUATION.RANG(B2;$B$2:$B$7) donne la position de B2 parmi les valeurs de B2:B7, la plus grande étant classée 1. Ajoutez 1 en troisième argument pour classer d'abord la plus petite. Les ex aequo partagent un rang ; NB.SI.ENS classe au sein d'un groupe.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=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.

Classer les ventes dans les deux sens
C2
ABCD
1NameSalesRank (high = 1)Rank (low = 1)
2Ana420034
3Ben310052
4Cleo560016
5Dan280061
6Eve490025
7Finn370043
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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 mettez 0 pour un ordre décroissant (la plus grande vaut 1), mettez 1 pour 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.

Notes à égalité
C3
ABCDE
1NameScoreRANK.EQRANK.AVGUnique rank
2Ana95111
3Ben88232
4Cleo88233
5Dan76555
6Eve88234
7Finn64666
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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 :

Rang dans chaque région
D2
ABCD
1NameRegionSalesRank in region
2AnaNorth42003
3BenSouth31003
4CleoNorth56001
5DanSouth28004
6EveNorth49002
7FinnSouth37001
8GiaNorth39004
9HalSouth33002
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI.ENS($B$2:$B$9;B2;$C$2:$C$9;">"&C2)+1

Cleo 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).

Les 3 premiers noms
F2
ABCDEF
1NameSalesRankPlaceName
2Ana420031Cleo
3Ben310052Eve
4Cleo560013Ana
5Dan28006
6Eve49002
7Finn37004
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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

Temps au 400 m en secondes
C2
ABC
1RunnerTimeRank
2Ana58.4
3Ben55.1
4Cleo61.9
5Dan53.7
6Eve57.3
7Finn60.2
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À 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.

Rang dans une classe
D2
ABCD
1StudentClassScoreRank in class
2AnaRed81
3BenRed92
4CleoBlue77
5DanRed69
6EveBlue95
7FinnRed85
8GiaBlue88
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À 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 :

La plage s'est déplacée : rangs faux
C4
ABC
1NameSalesRank
2Ana42003
3Ben31004
4Cleo56001
5Dan28003
6Eve49001
7Finn37001
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER