Aller au contenu principal
Fonction de compatibilité
RANG reste disponible pour les anciens classeurs, mais Excel recommande désormais d'utiliser RANG.EQ pour les nouveaux fichiers.

Qu'est-ce que la fonction RANG ?

Définition
La fonction RANG retourne la position d'un nombre dans une liste de valeurs. Par défaut, le classement est décroissant : la valeur la plus élevée obtient le rang 1.

RANG (RANK en anglais) te sert dès que tu veux connaître la position d'une valeur dans un classement sans trier ta feuille ni compter à la main combien de lignes la dépassent. Tu gardes tes données dans leur ordre d'origine, et chaque ligne affiche quand même son rang réel.

Concrètement, tu l'utilises pour classer tes commerciaux par chiffre d'affaires et afficher le rang à côté de chaque nom, identifier les 3 salaires les plus élevés pour un audit RH, trier des temps de réponse serveur du plus rapide au plus lent, ou gérer les ex-aequo dans un classement scolaire où deux élèves ont la même note. C'est une fonction dite « héritée » (remplacée officiellement par RANG.EQUIV depuis Excel 2010), mais elle reste présente dans toutes les versions et fonctionne parfaitement dans la quasi-totalité des cas.

Syntaxe

Clique sur un argument pour aller à son explication.

RANG est une fonction héritée, officiellement remplacée par RANG.EQUIV depuis Excel 2010. Elle reste disponible dans toutes les versions pour compatibilité, mais les nouveaux classeurs peuvent avantageusement utiliser RANG.EQUIV.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction RANG

RANG attend d'abord la valeur à classer, puis la plage où elle vit, et enfin le sens du tri. Seul ce dernier argument est facultatif : laissé vide, Excel classe du plus grand au plus petit, donc tu n'as besoin de le préciser que pour inverser (les temps, les coûts, ce genre de cas où le plus petit gagne).

La plage du milieu, elle, mérite toute ton attention : c'est sur elle que tu poses les $ pour qu'elle ne bouge pas quand tu recopies la formule vers le bas.

1

nombre

: c'est la valeur dont tu veux connaître le rang

Ça peut être une référence de cellule comme B2 ou une valeur directe comme 85. Excel va chercher cette valeur dans la plage de référence pour déterminer sa position.

Si la valeur n'existe pas dans la plage de référence, RANG retourne l'erreur #N/A. Vérifie que ta cellule est bien incluse dans la plage.

2

référence

: c'est la plage de cellules contenant toutes les valeurs à classer

Tu dois TOUJOURS utiliser une référence absolue ici, comme $B$2:$B$20. Si tu ne mets pas les signes $, ta formule donnera des résultats incorrects quand tu la copieras vers le bas.

Excel ignore les cellules vides et les textes dans cette plage : seules les valeurs numériques entrent dans le classement.

Attention : C'est l'erreur numéro 1 avec RANG : oublier les $ dans la référence. Sans eux, la plage se décale quand tu copies la formule et tout le classement devient faux. Appuie sur F4 après avoir sélectionné la plage pour ajouter les $ automatiquement.

3

[ordre]

: détermine le sens du classement(facultatif)

Deux valeurs possibles : 0 ou omis pour un classement décroissant (la plus grande valeur obtient le rang 1, c'est le comportement par défaut), et 1 pour un classement croissant (la plus petite valeur obtient le rang 1, idéal pour des temps de course ou des coûts).

Retiens ceci pour ne plus confondre : ordre 0 = le plus grand gagne (comme au foot avec les buts). Ordre 1 = le plus petit gagne (comme au golf ou pour les temps de réponse).

L’erreur fatale
L'erreur numéro 1 avec RANG : oublier les $ sur la plage de référence. Sans eux, RANG(B2; B2:B10) décale la plage en B3:B11 quand tu recopies la formule, et tout le classement devient faux. Appuie sur F4 pour la verrouiller en $B$2:$B$10.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment créer un classement avec la fonction RANG

La réunion commerciale commence dans une heure et on te demande qui est en tête. Ton tableau liste chaque commercial avec son équipe, sa région et son montant de ventes, et tu veux la position de chacun dans la colonne Rang, sans rien trier. La fonction RANG compare chaque montant à toute la colonne et sort le classement complet, du plus gros vendeur au plus petit.

Les étapes
  1. 1
    Dans une cellule, écris =RANG(.
  2. 2
    En 1er argument : clique sur le montant de ventes de la ligne, D2. C'est la valeur dont la fonction va chercher la position, et la pointer plutôt que de retaper 24 500 € permet à la formule de suivre chaque commercial à la recopie.
  3. 3
    En 2ᵉ argument : sélectionne la plage qui contient tous les montants du classement, $D$2:$D$19. Les $ la verrouillent pour qu'elle ne se décale pas quand tu recopies la formule vers le bas, sans quoi chaque ligne serait comparée à un groupe différent.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Faute de troisième argument, Excel classe du plus grand au plus petit, exactement ce qu'on attend d'un classement de ventes.
Au final, ta formule devrait ressembler à ça :=RANG(D2; $D$2:$D$19)
Explication
La fonction compare le montant de la ligne (D2) à tous les montants de la colonne et compte combien de commerciaux font mieux. Marie Dubois en a neuf devant elle, donc son rang est 10. Recopiée vers le bas, la formule classe les 18 commerciaux d'un coup.
Exemple 2

Comment classer du plus petit au plus grand avec la fonction RANG

Un client s'impatiente sur ses délais et tu dois savoir quel transporteur est le plus rapide avant de le rappeler. Ton tableau donne le délai moyen de livraison de chaque transporteur en heures, et tu veux un classement où le plus rapide arrive premier. La fonction RANG sait inverser le sens du tri, il suffit de lui préciser que le plus petit doit gagner.

Les étapes
  1. 1
    Dans une cellule, écris =RANG(.
  2. 2
    En 1er argument : clique sur le délai moyen de la ligne, B2. C'est le temps dont tu veux la position, ici les 18 heures de Rapidis.
  3. 3
    En 2ᵉ argument : sélectionne la plage de tous les délais, $B$2:$B$6. Les $ la figent pour qu'elle reste identique sur toute la colonne à la recopie.
  4. 4
    En 3ᵉ argument : saisis 1 pour classer du plus petit au plus grand. C'est lui qui fait gagner la plus petite valeur, alors que 0 ou rien du tout ferait gagner la plus grande, un réglage indispensable quand le plus rapide doit finir premier.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=RANG(B2; $B$2:$B$6; 1)
Explication
Avec 1 en troisième argument, la fonction classe à l'envers : le délai le plus court prend le rang 1. Rapidis livre en 18 heures et seul ExpressLine fait mieux, d'où son rang 2. Sans ce 1, c'est le transporteur le plus lent (41 heures) qui serait premier.
Exemple 3

Comment gérer les ex-aequo avec les fonctions RANG et NB.SI

Le conseil de classe est demain et deux élèves ont exactement la même note, ce qui bloque ton palmarès. Ta liste donne la note sur 20 de chaque élève, et tu veux un rang différent pour chacun, sans égalité ni numéro qui saute. La fonction RANG attribue le même rang aux notes identiques, et la fonction NB.SI ajoute juste ce qu'il faut pour départager selon l'ordre d'apparition dans la liste.

Les étapes
  1. 1
    Dans une cellule, écris =RANG(.
  2. 2
    En 1er argument : clique sur la note à classer, B2. C'est la note de la première ligne, et la fonction RANG lui attribuera le même rang qu'à toute autre note identique.
  3. 3
    En 2ᵉ argument : sélectionne la plage des notes, $B$2:$B$6. Les $ la verrouillent pour qu'elle reste la même sur toute la colonne. À ce stade, Emma et Léa se partagent encore le rang 1.
  4. 4
    Ferme la parenthèse de la fonction RANG, complète par + NB.SI($B$2:B2; B2) - 1, puis appuie sur Entrée. La fonction NB.SI compte combien de fois la note apparaît entre le haut de la liste et la ligne courante, et la plage $B$2:B2, verrouillée d'un seul côté, s'étire toute seule à mesure que tu recopies. On retire 1 parce que ce comptage inclut déjà la note de la ligne, ce qui décalerait sinon la toute première occurrence.
Une fois les morceaux assemblés, ta formule donne ça :=RANG(B2; $B$2:$B$6) + NB.SI($B$2:B2; B2) - 1
Explication
La fonction RANG place Emma et Léa toutes les deux au rang 1, puis la fonction NB.SI regarde combien de fois la note 16 est déjà apparue depuis le haut de la liste. Pour Emma c'est la première fois, elle garde le rang 1 ; pour Léa c'est la deuxième, son rang passe à 2 et le palmarès n'a plus aucun ex-aequo.
Exemple 4

Comment éviter l'erreur #N/A avec les fonctions RANG et SIERREUR

Tu t'apprêtes à envoyer le classement des ventes à toute l'équipe et deux #N/A s'étalent en plein milieu du tableau. Deux commerciaux n'ont pas encore remonté leurs chiffres, leur cellule Ventes est donc vide et la fonction RANG n'a rien à classer. En glissant la fonction RANG dans une fonction SIERREUR, tu remplaces l'erreur par un texte lisible et le tableau redevient présentable.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris le classement à tenter et referme-le, RANG(B2; $B$2:$B$6). C'est le calcul qu'Excel essaie d'abord, et il échoue en #N/A quand la cellule B2 est vide, car la fonction RANG cherche alors un zéro absent de la plage.
  3. 3
    En 2ᵉ argument : saisis ce qui s'affiche quand le calcul échoue, "Non classé". Les guillemets sont obligatoires pour qu'Excel traite ces mots comme du texte à afficher.
  4. 4
    Ferme la parenthèse de la fonction SIERREUR et appuie sur Entrée. Celle de la fonction RANG a déjà été refermée à l'étape précédente.
En mettant tout bout à bout, tu écris :=SIERREUR(RANG(B2; $B$2:$B$6); "Non classé")
Explication
Quand la cellule Ventes est vide, la fonction RANG cherche la valeur 0 dans la plage, ne l'y trouve pas et renvoie l'erreur #N/A. La fonction SIERREUR intercepte cette erreur et affiche « Non classé » à la place. Marie Dubois, elle, a bien un montant, donc son rang 2 s'affiche normalement.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec RANG

1Astuce

Crée un rang unique sans ex-aequo

Pour que chaque valeur ait un rang différent même en cas d'égalité, utilise =RANG(B2; $B$2:$B$10) + NB.SI($B$2:B2; B2) - 1. NB.SI ajoute un incrément basé sur l'ordre d'apparition : la valeur qui apparaît en premier garde l'avantage.
Copiée vers le bas, la formule garantit que deux lignes ne partagent jamais le même rang.

2Astuce

Affiche automatiquement le nom du gagnant

Pour récupérer le nom associé au rang 1, combine RANG avec INDEX et EQUIV : =INDEX($A$2:$A$10; EQUIV(1; $C$2:$C$10; 0)), où C2:C10 contient les rangs calculés. EQUIV localise la position du rang 1, INDEX retourne le nom correspondant.
Si deux valeurs sont ex-aequo au rang 1, la formule retourne le premier trouvé dans la liste.

3Astuce

Exprime le rang en pourcentage

Pour classer en top 10 %, top 25 %, etc., divise le rang par le nombre total de valeurs : =RANG(B2; $B$2:$B$10) / NB($B$2:$B$10). Formate la cellule en pourcentage pour un affichage immédiat. RANG.POURCENTAGE fait le même calcul en une seule fonction.
Un résultat de 0,11 signifie que la valeur est dans le top 11 % de la liste.

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction RANG

Avec RANG, presque tous les soucis viennent de deux endroits : la plage qui se décale et l'ordre du classement. Oublier les $ sur la référence reste de loin le piège le plus courant, parce que la formule a l'air juste sur la première ligne avant de tout fausser une fois recopiée.

Les deux autres cas sont plus discrets : un #N/A quand la valeur cherchée n'est pas dans la plage, et un classement à l'envers quand tu oublies que le réglage par défaut fait gagner le plus grand.

Plage de référence sans références absolues

Si tu écris =RANG(B2; B2:B10) sans les $, la plage se décale quand tu copies la formule. En B3, elle devient B3:B11, ce qui fausse tout le classement. C'est l'erreur numéro 1 avec RANG.

Solution : Utilise toujours =RANG(B2; $B$2:$B$10). Les $ bloquent la plage. Appuie sur F4 après avoir sélectionné la plage pour ajouter automatiquement les $.

Erreur #N/A : valeur cherchée absente de la plage

Si le nombre que tu cherches n'existe pas dans la plage de référence, RANG retourne l'erreur #N/A. Ça arrive souvent quand ta plage est trop courte ou que tu compares des données issues de sources différentes.

Solution : Vérifie que la plage de référence contient bien la valeur. Utilise =SIERREUR(RANG(A2; $A$2:$A$10); "Non trouvé") pour afficher un message clair au lieu d'une erreur.

Classement inversé : le bon résultat mais dans le mauvais ordre

Beaucoup oublient que par défaut (ordre = 0 ou omis), RANG classe du plus grand au plus petit. Si tu classes des temps, des coûts ou des erreurs où le plus petit gagne, tu obtiens un classement inversé.

Solution : Ajoute 1 comme troisième paramètre quand le plus petit doit gagner : =RANG(A2; $A$2:$A$10; 1). Ce paramètre inverse l'ordre du classement.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

RANG vs RANG.EQUIV vs GRANDE.VALEUR vs PETITE.VALEUR

Tu choisis selon ce que tu veux récupérer. Si tu cherches la position d'une valeur, reste sur RANG (ou RANG.EQUIV si ton classeur cible Excel 2010 et plus, c'est son remplaçant officiel). Si tu veux directement la valeur du 1er, du 2e ou du 3e sans passer par son rang, prends GRANDE.VALEUR pour le haut du classement et PETITE.VALEUR pour le bas.

À noter : seules RANG et RANG.EQUIV savent inverser le sens du tri avec un troisième argument. GRANDE.VALEUR et PETITE.VALEUR, elles, te répondent toujours par une valeur, jamais par une position.

CritèreRANGRANG.EQUIVGRANDE.VALEURPETITE.VALEUR
ObjectifRang d'une valeurRang d'une valeurNième plus grandeNième plus petite
Gestion ex-aequoMême rang pour tousRang moyenRetourne la valeurRetourne la valeur
Ordre inversible✅ Oui (param 3)✅ Oui (param 3)❌ Non❌ Non
RetourPosition (nombre)Position (nombre)ValeurValeur
DisponibilitéToutes versionsExcel 2010+Toutes versionsToutes versions
Le savais-tu ?
RANG est une fonction héritée : depuis Excel 2010, son remplaçant officiel s'appelle RANG.EQUIV. Elle reste disponible dans toutes les versions et fonctionne à l'identique, donc rien ne presse, mais un nouveau classeur gagne à passer directement à RANG.EQUIV.
FAQ

Questions fréquentes

Oui, les valeurs égales reçoivent le même rang. Si deux personnes ont le score le plus élevé, elles seront toutes deux classées 1res, et la suivante sera 3e (pas 2e). Pour départager les ex-aequo, utilise RANG.POURCENTAGE ou combine RANG avec NB.SI : =RANG(A2; $A$2:$A$10)+NB.SI($A$2:A2; A2)-1.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction RANG : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir