How do you sort data in Google Sheets?

Sorting reorders rows by one or more columns. The Data > Sort range menu sorts selection in place. The SORT function returns a sorted copy that updates when inputs change. Always decide whether related columns must move together as a single row unit.

When to use it

Use sorting for leaderboards, prioritized task lists, alphabetical directories, and chart source tables that should always show highest values first.

When to skip it

Skip in-place sorting on ranges with formulas that reference row numbers elsewhere without rebuilding those links. Prefer SORT on a dedicated output tab for fragile models.

How it works

  1. 1

    For a one-time sort, select the full data rectangle including headers, then Data > Sort range.

  2. 2

    Check Data has header row so Sheets sorts body rows only.

  3. 3

    {:"Add sort columns in priority order"=>"region first, then revenue descending, for example."}

  4. 4

    For dynamic sorts, =SORT(A2:D, 3, FALSE) sorts by column 3 descending within the range.

  5. 5

    Include a unique ID column so you can rejoin data if something sorts separately by mistake.

  6. 6

    Combine SORT with FILTER or QUERY when you need sorted subsets, not the whole table.

Examples in Google Sheets

Sales leaderboard

SORT on a Staging tab orders reps by revenue each night; the dashboard chart reads the top ten rows.

Multi-key sort

Data menu sort: Department A-Z, then Hire date oldest first for an HR roster export.

SORT with FILTER

=SORT(FILTER(A2:E, D2:D="Active"), 5, TRUE) lists active rows by due date ascending.

Build this without starting from a blank cell

Use a Better Sheets tool for sorting data in Sheets, then watch a walkthrough when you want the full pattern.

Better Sheets resources

Common mistakes

  • Sorting one column while ID and amount columns stay behind, destroying row integrity.
  • Forgetting hidden rows participate in sort unless you filter them out first.
  • Using SORT on ranges with merged cells, which Sheets cannot sort reliably.
  • Expecting SORT to dedupe; it only reorders. Use UNIQUE separately if needed.
  • Sorting a column that contains ARRAYFORMULA spill errors and breaking dependent ranges.

Frequently asked questions

SORT vs sort range menu?
Menu sort changes the sheet in place. SORT formula creates a dynamic sorted copy.
Sort by multiple columns in SORT()?
Use SORTN or nest criteria with helper columns. QUERY order by handles multi-key sorts in one string.
Keep header fixed?
Freeze row 1 and exclude it from the sort range, or use SORT which sorts data rows only in the formula range.
Sort dates correctly?
Ensure dates are real date values, not text that looks like a date, before sorting.
Sort filtered data only?
FILTER first into a helper range, then SORT that output, or sort in place with visible cells selected carefully.
Random sort?
Add RAND() in a helper column, sort by it, then optionally remove the column.
Does sort break references?
In-place sort moves cell contents; formulas pointing at old addresses may break. Prefer SORT output tabs.
Sort by custom list?
Create a rank column with MATCH against a custom order list, then sort by that rank.

Related Tutorials

Watch how sorting data in Sheets works

Browse more tutorials
Search Every Function in Google Sheets

Search Every Function in Google Sheets

Built a useful tool to filter Google Sheet formulas based on keywords.

Related blog posts

Guides that explain sorting data in Sheets in more depth.

Browse the blog

Related glossary terms

Done reading about sorting data in Sheets?

Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.

Need this once

Jump to a free tool or a single tutorial for this topic.

Learning Sheets for real

Unlock the full library, generators, and templates with membership.