Comment trier selon deux colonnes dans Excel ?
Lorsque vous travaillez avec des jeux de données Excel contenant des noms et deux séries distinctes de scores (par exemple, résultats d’examens, notes de projets ou données de ventes sur plusieurs périodes), il peut parfois être nécessaire de classer les noms en fonction d’une combinaison de ces deux scores. Cette exigence est courante dans les situations où il faut évaluer une performance globale ou des réalisations combinées, comme l’attribution de bourses, la désignation des meilleurs commerciaux ou la fusion des résultats de deux phases d’un concours. Cependant, Excel ne propose pas de fonction directe pour classer selon plusieurs colonnes ; vous devez alors appliquer des solutions créatives pour obtenir le classement souhaité.
Classement sur deux colonnes
Une méthode efficace pour classer des noms selon deux colonnes de scores consiste à utiliser une formule personnalisée qui prend en compte les deux séries de scores. Généralement, le premier score constitue le critère principal, tandis que le second sert de critère de départage en cas d’ex æquo. Cette approche est utile lorsque vous souhaitez conserver un ordre précis pour les scores identiques, en vous appuyant sur une métrique secondaire de performance.
Pour appliquer cette méthode, suivez ces étapes :
1. Sélectionnez une cellule vide où vous souhaitez afficher les résultats du classement — par exemple, la cellule D2.
2. Saisissez la formule suivante :
=RANK(B2,$B$2:$B$7)+SUMPRODUCT(--($B$2:$B$7=$B2),--(C2<$C$2:$C$7)) Cette formule calcule d’abord le rang en fonction de la première colonne de scores. En cas d’ex æquo (c’est-à-dire de scores identiques), elle affine ce classement à l’aide du second score, en ordonnant les entrées concernées selon cette valeur secondaire. La partie SOMMEPROD agit comme critère de départage en comptant les occurrences où les premiers scores sont identiques, mais où le second score est inférieur.
3. Appuyez sur Entrée pour valider la formule.
4. Faites glisser la poignée de recopie vers le bas afin d’appliquer la formule aux autres cellules de la colonne D pour le reste des données.
Dans cette formule, B2 et C2 font référence aux premières cellules de données des colonnes de scores, tandis que $B$2:$B$7 et $C$2:$C$7 indiquent les plages contenant l’ensemble des scores. Ajustez ces références si votre plage de données est différente.
Cette méthode convient parfaitement aux jeux de données de petite à moyenne taille lorsque votre critère de départage repose uniquement sur la colonne de scores suivante. Toutefois, pour des jeux de données plus volumineux ou des règles de classement plus complexes, envisagez les approches alternatives ci-dessous.
Code VBA – Automatiser le classement selon deux colonnes pour les grands jeux de données ou des règles de classement personnalisées
Si vous gérez un grand volume de données ou si vous souhaitez automatiser un classement selon une logique personnalisée (par exemple, en ajoutant davantage de conditions ou en appliquant ce classement à des plages variables), VBA s’impose comme une solution pratique. Cette approche est idéale lorsque l’application manuelle de formules devient trop fastidieuse ou lorsqu’un traitement par lots sur plusieurs feuilles est nécessaire.
1. Cliquez sur Outils de développement > Visual Basic. Lorsque la fenêtre Microsoft Visual Basic pour Applications s’ouvre, cliquez sur Insertion > Module, puis copiez-collez le code suivant dans le module :
Sub Rank_Two_Columns()
Dim lastRow As Long
Dim ws As Worksheet
Dim rngScore1 As Range, rngScore2 As Range, rngRank As Range
Dim i As Long, j As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row 'Assume scores are in columns B and C
Set rngScore1 = ws.Range("B2:B" & lastRow)
Set rngScore2 = ws.Range("C2:C" & lastRow)
Set rngRank = ws.Range("D2:D" & lastRow)
For i = 1 To rngScore1.Rows.Count
Dim rankCount As Long
rankCount = 1
For j = 1 To rngScore1.Rows.Count
If rngScore1.Cells(j, 1).Value > rngScore1.Cells(i, 1).Value Then
rankCount = rankCount + 1
ElseIf rngScore1.Cells(j, 1).Value = rngScore1.Cells(i, 1).Value Then
If rngScore2.Cells(j, 1).Value > rngScore2.Cells(i, 1).Value Then
rankCount = rankCount + 1
End If
End If
Next j
rngRank.Cells(i, 1).Value = rankCount
Next i
End Sub Ce code classe les lignes selon le premier score et, en cas d’égalité, utilise le second score comme critère de départage. Il suppose que votre première série de scores se trouve dans la colonne B, la seconde dans la colonne C, et que le classement est indiqué dans la colonne D (à partir de la cellule D2). Adaptez les lettres de colonne ou les plages si vos données sont organisées autrement.
2. Pour exécuter le code, fermez l’éditeur VBA, retournez dans Excel, appuyez sur Alt + F8 pour ouvrir la boîte de dialogue Macro, sélectionnez Rank_Two_Columns, puis cliquez sur Exécuter. Les classements apparaîtront en colonne D.
Avant d’exécuter des macros, assurez-vous qu’elles sont activées dans Excel et sauvegardez toujours votre travail au préalable, car les macros ne peuvent pas être annulées. Pour les jeux de données particulièrement volumineux, cette solution VBA permet de finaliser le classement bien plus rapidement que la copie manuelle de formules.
Si vous rencontrez des erreurs telles que « Indice en dehors de la plage » ou si les classements n’apparaissent pas, vérifiez que vos données ne contiennent aucune ligne vide dans la plage et que les colonnes de scores sont correctement référencées dans le code.
Autres méthodes intégrées d’Excel – Utiliser des colonnes auxiliaires pour combiner les deux scores et classer
Pour les utilisateurs qui préfèrent éviter les formules à logique matricielle ou VBA, le classement peut également être réalisé à l’aide des outils de tri intégrés d’Excel avec une colonne auxiliaire. Cette approche est particulièrement simple lorsque les deux colonnes de scores contiennent des valeurs numériques, et que vous souhaitez appliquer une logique de tri pondérée ou concaténée.
Voici comment procéder :
1. Insérez une nouvelle colonne (par exemple, la colonne D) en guise de colonne auxiliaire.
2. Dans la première cellule de cette colonne auxiliaire (par exemple, D2), saisissez une formule attribuant un classement unique à chaque ligne. Vous pouvez concaténer les deux scores ou leur appliquer des coefficients si vous souhaitez accorder plus de poids à l’un d’eux. Par exemple, si le premier score compte pour 60 % et le second pour 40 %, saisissez :
=B2*0.6+C2*0.4 3. Appuyez sur Entrée, puis recopiez cette formule vers le bas pour l’appliquer à toutes les lignes.
4. Sélectionnez l’ensemble de vos données (y compris les noms et les deux colonnes de scores).
5. Rendez-vous dans l’onglet Données, puis cliquez sur Trier. Dans la boîte de dialogue Trier, définissez la colonne auxiliaire comme clé de tri et choisissez l’option Du plus grand au plus petit.
6. Vos données sont désormais triées selon la logique de classement combinée.
Cette méthode ne requiert ni formules avancées ni scripts, et s’avère idéale si vous souhaitez attribuer des poids différents à vos critères de classement. Cependant, attention : la concaténation de nombres sous forme de texte (par exemple, combiner les scores 90 et 88 en 9088) ne donne pas de résultats fiables lorsque les scores n’ont pas tous le même nombre de chiffres. Pour obtenir des classements uniques et logiques, les sommes pondérées ou les calculs mis à l’échelle sont généralement bien plus robustes.
Si vous avez besoin d’une colonne de classement explicite, vous pouvez appliquer la fonction RANG aux valeurs auxiliaires. Par exemple, en E2, saisissez :
=RANK(D2,$D$2:$D$7) Puis faites glisser pour étendre la formule de classement à toutes les lignes.
Remarque : Vérifiez attentivement que la méthode de calcul appliquée dans la colonne auxiliaire correspond bien à votre règle de classement souhaitée. Cette approche est particulièrement adaptée aux classements simples basés sur un « score global » ou lorsque vous recherchez une solution rapide et visuelle pour trier vos données.
En résumé, le classement de données selon deux colonnes dans Excel peut s’effectuer de trois façons : à l’aide de formules pour des scénarios simples et dynamiques, via des macros VBA pour les tâches volumineuses ou personnalisées, ou encore en combinant des colonnes auxiliaires avec la fonction de tri pour des classements pondérés ou concaténés. Vérifiez toujours vos résultats en contrôlant quelques positions, notamment après un tri ou l’exécution d’un script. En cas d’incohérences, assurez-vous que vos données ne contiennent ni cellules fusionnées, ni lignes vides, ni nombres formatés en texte.

Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Articles associés
- Comment trier rapidement une liste selon une valeur spécifique dans Excel ?
- Comment classer facilement une liste sans ex æquo dans Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels