SORTN Function in Google Sheets

The SORTN function lets you sort a range of data and return the first n items from that range. The function creates a new range of data with the new, sorted output from the function. SORTN can significantly reduce the number of steps it takes to get the data you need out of a table.

SORTN is similar to FILTER, which filters a specified range, but SORTN returns the highest n amounts while FILTER returns the matching rows.

Excel, the most popular spreadsheet program, does not have this function.

Purpose

This function returns n number of rows from a range of data.

Video Explanation

Video thumbnail
YouTube Video About the SORTN Function

Related Functions

SORT – Outputs a sorted range (or array) of data

FILTER – Outputs a range of data, including only items meeting specified criteria

UNIQUE – Outputs data with duplicates removed

QUERY – Can return a specified number of rows as one of its capabilities

MAX – Returns the largest number from a dataset

MIN – Returns the smallest number from a dataset

LARGE – Returns the nth largest number from a dataset

SMALL – Returns the nth smallest number from a dataset

Errors

#REF! – “Array result was not expanded because it would overwrite data in…” This error occurs when there are values in the cells either below or to the right blocking the output. Delete or move that data to resolve the error.

#VALUE! – The input should be one contiguous range of cells such as A1:B7 and not A1:B4,A5:B7.

Syntax

=SORTN(range,[n],[display_ties_mode],[sort_column1, is_acending1],...)

  • range – The range of data for the function to sort
  • n – The number of items to return
  • display_ties_mode [OPTIONAL] – An optional number designating how to display ties.
    • 0: Show the first n rows in the sorted range.
    • 1: Show the first n rows, plus any additional rows identical to the nth row.
    • 2: Show the first n rows after removing duplicate rows.
    • 3: Show the first n unique rows, but show every duplicate of these rows.
  • sort_column1 [OPTIONAL] – The column with the criteria you are sorting. It can only be one column at a time. If this value is not specified, the function will use the lowest index column in the range and subsequent columns if a tie-breaker is needed.
  • is_ascending1 [OPTIONAL] – Two possible answers – TRUE for ascending (1,2,3), FALSE for descending (3,2,1)
  • sort_column2 - [OPTIONAL] – Add as many of these as you want.

Tip: This function writes the output in, below, and to the right of your starting point. The formula text will remain in the upper-left cell.

Tip: If you omit sort_column1 and is_ascending1, the function performs the sort on the lowest-index column in the range, with subsequent columns used to sort if there are ties.

Examples

Example 1

First, we use a simple SORTN function with one column of data and extract the two highest values. We set the display_ties to 0, which means the function should show the two highest values regardless of ties. The zero isn’t specified, but it is the default. Not setting zero is the same as typing “0”.

 A
12
25
33
43
5=SORTN(A1:A4,2)
6 
Shows the starting data and the formula typed into the last cell.
 A
12
25
33
43
52
63
The first four rows are the original data, and the last two rows are the dynamic results of the function. The function is still in cell A5, and you can see it if you select that cell.

Example 2

We have changed the display_ties parameter to “1” in this example. The “1” tells Sheets to show the two highest values, including ties. The two first values are 2, including all three occurrences of 2.

 A
12
22
32
45
53
63
7=SORTN(A1:A6,2,1)
8 
9 
Shows the starting data and the formula typed into the last cell.
 A
12
22
32
45
53
63
72
82
92
The first six rows are the original data and the last three rows are the dynamic results of the function. The function is still in cell A7 and you can see it if you select that cell.

Example 3

We have set the display_ties parameter to 2, which means the function should show only two rows at most but not any duplicates.

 A
12
22
32
45
53
63
7=SORTN(A1:A6,2,2)
8 
Shows the starting data and the formula typed into the last cell.
 A
12
22
32
45
53
63
72
83
The first six rows are the original data, and the last two rows are the dynamic results of the function. The function is still in cell A7, and you can see it if you select that cell.

Example 4

We have set the display_ties parameter to 3, which means it should show only two unique values but show all duplicates of these items. 2 and 3 are the two highest items, so it shows all 2s and 3s no matter how many there are. Note: It seems that this function should also be showing all of the threes, but it is not. I submitted this as a question on the Google Docs forum and will update these notes with what I find out.

Alert! This function, as of early September 2017, is not working correctly. If you look at the shared Sheet, starting at row 33, the function is not returning all of the 3’s that it should. The bug has been reported to Google here.

 A
12
22
32
45
53
63
7=SORTN(A1:A6,2,3)
8 
9 
10 
11 
Shows the starting data and the formula typed into the last cell.
 A
12
22
32
45
53
63
72
82
92
103
113
The first six rows are the original data, and the last five rows are the dynamic results of the function. The function is still in cell A7, and you can see it if you select that cell.

Example 5

Two-column SORTN, only sorted one column. Sorting without all of the columns is typically unintentional and can create problems by mismatching the data in the rows.

  A B
1 Hen Brown
2 Sheep White
3 Bull Brown
4 Goat White
5 =SORTN(A1:A4,2,1)
6    
Shows the starting data and the formula typed into row 5.
  A B
1 Hen Brown
2 Sheep White
3 Bull Brown
4 Goat White
5 Bull  
6 Goat  
Because I specified only the first columns of my range, the formula’s output was only the first column.

Example 6

Two-column SORTN, specifying both columns in the range. This output is more likely what you wanted instead of option 5.

  A B
1 Hen Brown
2 Sheep White
3 Bull brown
4 Goat White
5 =SORTN(A1:B4,2,1)
6    
Shows the starting data and the formula typed into row 5. Notice that the range now is both column A and column B.
  A B
1 Hen brown
2 Sheep White
3 Bull brown
4 Goat white
5 Bull brown
6 Goat white
Because I specified both columns of this range, the formula’s output is both columns.

Live Examples in Sheets

Go to this spreadsheet for several examples of the SORTN function that you can study and use anywhere you would like.

Leave a Comment