Basic Functions
Intermediate

Rank race finishers without touching the bib-number order

RANK usually counts down from the biggest number, but a stopwatch makes the smallest one the winner — that's what its order argument is for.

Task:

You handle results for the Riverside Running Club's monthly 10K. Runners are logged in the order they crossed the start line, and the results board keeps that order — only the rank column changes. Work out each runner's finishing position in column C, with the fastest time taking first place.

Learning Objectives:

  • Use RANK's order argument to rank ascending instead of the default descending
  • Recognize when a smaller value is better and rank the list accordingly
  • Lock a range with absolute references so a filled-down formula keeps comparing against the same list
Hints

Solve without hints for +5 XP

Interactive Spreadsheet

The data in this exercise

This is the grid you start with. Cell references in the task — B6, C2 — point at the row numbers and column letters below.

ABC
1RunnerFinish Time (min)Rank
2Amara Chen42.3
3Diego Fuentes39.8
4Priya Nair44.1
5Liam O'Brien38.5
6Sofia Marchetti41
What this exercise teaches (contains the answer)

RANK(B2,$B$2:$B$6,1) counts how many finish times in the range are smaller than B2 and adds one, which is exactly what a race placing is — a count of how many runners beat you, plus your own spot. Leaving the third argument off, or setting it to 0, flips that count to "how many are bigger", which is right for a leaderboard where more is better and wrong here, where less is better: Liam's 38.5 would come out last instead of first. The absolute reference on the range is what keeps the comparison against the same five runners as the formula fills down four rows, rather than sliding onto whatever happens to sit below row 6.