Rank students by grade with RANK — highest grade is rank 1. A small add-on produces a dense or tie-broken ranking so two students don’t awkwardly share or skip positions.
The example
92 ranks above 88.
| A | B | |
|---|---|---|
| 1 | Grade | Rank |
| 2 | 92 | 1 |
| 3 | 88 | 2 |
The formula
The formula:
How it works
How it works:
RANK(grade, range, 0)ranks the highest grade as 1 (order 0 = descending).- Lock the range with absolute references so every row ranks against the whole class.
- Ties get the same rank, and the next position is skipped (two 1sts, no 2nd).
- Break ties by a tiebreaker, or build a dense rank with COUNTIF (no skipped numbers).
Tie-broken & dense ranks: add a small tiebreaker — RANK(g, range) + COUNTIF($B$2:B2, g) - 1 gives each tie a unique position. For a dense rank (1,2,2,3 instead of 1,2,2,4), use SUMPRODUCT((unique_higher_grades)) or count distinct higher values. Pick the convention your school uses.
Try it: interactive demo
Grades; see one student’s rank.
Variations
Tie-broken rank
Unique positions:
Percentile rank
Top X%:
Rank within section
By class:
Pitfalls & errors
Lock the range. Forgetting absolute references ranks each student against a shifting subset.
Order argument. Use 0 for highest-first; 1 ranks lowest-first.
Ties skip numbers. Plain RANK gives 1,1,3 — add a tiebreaker if that’s a problem.
Practice workbook
Frequently asked questions
How do I rank students by grade in Excel?
How do I handle ties in ranking?
How do I rank within a class section?
Stop fighting formulas. Learn them in a day.
This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.
See the Formulas & Functions Class