
π This article includes 1 downloadable practice file β
In this article
SORTBY sorts one range by the values in another β even by a column you do not display.
Syntax
=SORTBY(array, by_array1, [sort_order1], ...)
| Argument | What it means |
|---|---|
by_array1 |
The values to sort by (same height). |
sort_order1 |
1 ascending, β1 descending. |
Examples
Example 1
=SORTBY(A2:A50, E2:E50, -1)
Names ordered by sales, highest first.
Example 2
=SORTBY(A2:C50, B2:B50, 1, C2:C50, -1)
By region, then by amount.
SORTBY in practice
Where you will use it
- Sort names by sales
- Random order: SORTBY(list,RANDARRAY(n))
- Multi-level sorts
Worked example
| Order | Formula | Result |
|---|---|---|
| -1 | =TEXTJOIN(", ",,SORTBY({"Patel";"Shah";"Rao"},{12000;8000;22000},A2)) | Rao, Patel, Shah |
| 1 | =TEXTJOIN(", ",,SORTBY({"Patel";"Shah";"Rao"},{12000;8000;22000},A3)) | Shah, Patel, Rao |
| -1 | =TEXTJOIN(", ",,SORTBY({"Patel";"Shah";"Rao"},{12000;8000;22000},A4)) | Rao, Patel, Shah |
Results calculated in Excel.
Mistakes people make
| Mistake | What to do instead |
|---|---|
| Arrays of different sizes | #VALUE! |
| Ties | Add a second sort key |
Related functions
π Part of the free Excel course: Beginner β Expert Β· Try it in the Formula Lab or ask the AI Helper.
Test formulas dynamically in our web formula laboratory or download the companion Excel workbook.
π Practice files for this article
- πPractice workbook: Dynamic arrays18 tasks on realistic sales data β type your formula, the Check column turns green when it is right. Answers sheet included.β¬ XLSX Β· 35 KB
Free to use for learning. Files with macros (.bas) are plain text β import them with Alt+F11 β File β Import File, and always test on a copy.
Atul (AJ) builds office-automation and local-first AI tools as Atulya AI, and works with Excel, SAP and Oracle EPM every day. He writes about the shortcuts, macros and automations that actually save time β plus the occasional wacky fact. Videos on YouTube: Lazy Automator AI (@LazyAutomatorAI).
More posts by Atul βBuild this skill next
This page is a quick function reference. Use it for syntax, then practise the function in a broader workflow.
Stuck on a step? Ask a question and the AI answers using this article.