ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Dynamic arrays
  3. TAKE Function in Excel (and DROP): First or Last N Rows

TAKE Function in Excel (and DROP): First or Last N Rows

By ExcelReady Team·Updated November 3, 2026·7 min read

The short answer

The TAKE function returns the first or last rows or columns of a range: =TAKE(A2:C8,3) gives the first 3 rows and =TAKE(A2:C8,-3) the last 3. DROP does the opposite and removes them: =DROP(A1:C8,1) drops the header. Both need Microsoft 365 or Excel 2024. Pair TAKE with SORT for a top N list.

Key takeaways

  • TAKE(array, rows, [columns]) keeps rows from the start; a negative number keeps them from the end.
  • DROP(array, rows, [columns]) removes rows or columns and keeps the rest.
  • =TAKE(SORT(A2:C8,3,-1),3) is the shortest top 3 formula in Excel.
  • Asking for more rows than exist returns them all; asking for 0 rows gives #CALC!.
  • In Excel 2021, FILTER with SEQUENCE does the same job as TAKE.
On this page+
  1. TAKE and DROP syntax
  2. TAKE function examples
  3. Make a top N list with TAKE and SORT
  4. How to use DROP to remove rows
  5. Get the latest N entries from a growing list
  6. TAKE alternatives for Excel 2021
  7. Common TAKE mistakes
  8. Practise it

The TAKE function in Excel returns the first or last N rows or columns of a range, and its partner DROP removes them. =TAKE(A2:C8,3) gives the first three rows; =TAKE(A2:C8,-3) gives the last three. Both are dynamic array functions in Microsoft 365 and Excel 2024. This guide shows the syntax, the top N pattern with SORT, and a FILTER version for Excel 2021.

TAKE and DROP syntax#

TAKE keeps rows or columns from one end of an array; DROP removes them.

Excel formula
=TAKE(array, rows, [columns])
=DROP(array, rows, [columns])
ArgumentWhat it means
arrayThe range or array to work on, such as A2:C8 or a SORT result
rowsHow many rows to keep (TAKE) or remove (DROP). Positive counts from the top, negative from the bottom
columnsOptional. How many columns, counted from the left (positive) or right (negative)

To work on columns only, leave rows empty: =TAKE(A2:C8,,1) returns just the first column. Both functions spill: the result fills as many cells as it needs, starting from the formula cell. If anything is in the way, you get #SPILL!. The guide to dynamic arrays in Excel explains spilling.

TAKE and DROP need Microsoft 365, Excel 2024 or Excel for the web. In Excel 2021 and earlier they show #NAME?, so use the FILTER version further down if you share files.

TAKE function examples#

All examples use this sales list in A1:C8:

ABC
1RepRegionSales
2AvaEast48200
3BenWest61500
4CaraEast39900
5DevSouth72300
6EllaWest55000
7FinnEast66800
8GiaSouth44100
FormulaWhat it returns
=TAKE(A2:C8,3)First 3 rows: Ava, Ben, Cara
=TAKE(A2:C8,-2)Last 2 rows: Finn, Gia
=TAKE(A2:C8,,1)The Rep column only
=TAKE(A2:C8,2,-1)First 2 rows, last column: 48200 and 61500
=TAKE(A2:C8,10)All 7 rows (no error when you ask for too many)

Asking for 0 rows or 0 columns returns #CALC!, Excel's error for an empty result.

Make a top N list with TAKE and SORT#

The most useful TAKE formula sorts first, then keeps the top rows. To list the three best sellers:

Excel formula
=TAKE(SORT(A2:C8,3,-1),3)

SORT orders the rows by column 3 (Sales), largest first (-1). TAKE keeps the first three: Dev 72300, Finn 66800 and Ben 61500. Change the 3 to a cell like F1 and your reader can pick how many rows to show. For the bottom three, use -3 in TAKE, or sort ascending.

SORT and FILTER are covered in the guide to SORT and SORTBY, the SORT function guide, and the dedicated article on building a top N list, which also handles ties.

Top N within a group#

Filter first, then sort, then take. For the top two reps in the East region:

Excel formula
=TAKE(SORT(FILTER(A2:C8,B2:B8="East"),3,-1),2)

FILTER keeps Ava, Cara and Finn. SORT puts Finn (66800) first, then Ava (48200). TAKE keeps those two.

How to use DROP to remove rows#

DROP is TAKE in reverse: you say what to remove. Three everyday uses:

TaskFormula
Remove the header row=DROP(A1:C8,1)
Remove a total row at the bottom=DROP(A2:C9,-1)
Remove the first column=DROP(A2:C8,,1)

DROP is handy when another function returns more than you need, for example a SORT result that includes a header or a total. If you drop every row, the result is #CALC!.

Get the latest N entries from a growing list#

A log where new rows are added at the bottom is a natural fit for a negative TAKE. The trick is to ignore empty rows below the data, otherwise TAKE returns blanks:

Excel formula
=TAKE(FILTER(A2:C500,A2:A500<>""),-3)

FILTER keeps only rows where column A has a value, and TAKE returns the last three of those. If your data is an Excel table, use the table's column names instead, and the range grows on its own.

Total or average the last N values#

TAKE doesn't have to spill. Put it inside another function to work on just the rows it returns. On the sales list, this adds up the three most recent entries:

Excel formula
=SUM(TAKE(C2:C8,-3))

The last three sales are Ella (55000), Finn (66800) and Gia (44100), so the result is 165900. Swap SUM for AVERAGE and you get a rolling average of the last three: 55300. If you point it at an Excel table column instead of a fixed range, both numbers move forward by one row each time a new row is added. That makes this a simple way to track recent performance without rewriting the formula each week.

TAKE alternatives for Excel 2021#

Excel 2021 has FILTER, SORT and SEQUENCE, which together can copy TAKE. SEQUENCE numbers the rows 1, 2, 3 and so on, and FILTER keeps the ones you want:

TAKE versionExcel 2021 version
=TAKE(A2:C8,3)=FILTER(A2:C8,SEQUENCE(ROWS(A2:C8))<=3)
=TAKE(A2:C8,-3)=FILTER(A2:C8,SEQUENCE(ROWS(A2:C8))>ROWS(A2:C8)-3)
=TAKE(SORT(A2:C8,3,-1),3)=FILTER(SORT(A2:C8,3,-1),SEQUENCE(ROWS(A2:C8))<=3)

ROWS counts the rows in the range (7 here). The FILTER function guide, the article on the FILTER function and the guide to SEQUENCE explain each piece. INDEX works too: =INDEX(A2:C8,SEQUENCE(3),SEQUENCE(1,3)) returns the first three rows and all three columns.

Common TAKE mistakes#

Watch for these when a TAKE formula misbehaves:

  1. #NAME? The file is open in a version without TAKE. Use the FILTER version.
  2. #SPILL! Cells below or to the right of the formula aren't empty. Clear them.
  3. Blank rows in the result. The range runs past the data. Wrap it in FILTER to drop empty rows.
  4. Wrong end of the list. Positive numbers count from the top or left, negative from the bottom or right.
  5. Header in the result. Start the range below the header, or wrap it in DROP(…,1).

Practise it#

TAKE is mostly SORT and FILTER with a shortcut on top, so those are the skills to build. Practise the SORT function in a live spreadsheet: you sort by any column and direction, and each formula is checked instantly. Then practise the FILTER function, and try the exercise on this page to build a top 3 list that works even without TAKE.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Build a top 3 list without TAKE. In D2, SORT A2:B8 by column 2, largest first (-1), then FILTER that result to the rows where SEQUENCE(ROWS(A2:B8))<=3.

fx
ABCDE
1
Rep
Sales
Top 3
2
Ava
48200
3
Ben
61500
4
Cara
39900
5
Dev
72300
6
Ella
55000
7
Finn
66800
8
Gia
44100
9
10
11

Tip: SEQUENCE(ROWS(A2:B8)) numbers the sorted rows 1 to 7. Keep the ones that are 3 or less.

Practise this in a lesson

LessonSORT: order data with a formulaSort a table by any column, ascending or descending, and combine SORT with FILTER and UNIQUE.LessonFILTER: pull matching rows with a formulaReturn every row that meets one or more conditions with FILTER, and show a friendly message when nothing matches.Function guideSORTSort a range with a formula using Excel's SORT. Sort by any column, highest first, or combined with FILTER. Includes a live exercise.Function guideFILTERReturn every row that matches a condition with Excel's FILTER. Multiple criteria, empty results and #SPILL! explained, with live practice.

Frequently asked questions

What does the TAKE function do in Excel?

+

TAKE returns a set number of rows or columns from the start or end of a range or array. =TAKE(A2:C8,3) returns the first three rows, and =TAKE(A2:C8,-3) returns the last three.

Which versions of Excel have TAKE and DROP?

+

TAKE and DROP are in Microsoft 365, Excel 2024 and Excel for the web. Excel 2021 and older don't have them, so a file that uses them shows #NAME? there.

What is the difference between TAKE and DROP?

+

TAKE keeps the rows or columns you name and throws away the rest. DROP throws away the rows or columns you name and keeps the rest. =DROP(A1:C8,1) and =TAKE(A1:C8,-7) return the same 7 rows.

How do I get the last N rows of a list in Excel?

+

Use a negative number in TAKE: =TAKE(A2:C8,-3) returns the last three rows. If the range includes empty rows at the bottom, filter them out first: =TAKE(FILTER(A2:C500,A2:A500<>""),-3).

How do I use TAKE without Microsoft 365?

+

In Excel 2021, use FILTER with SEQUENCE: =FILTER(A2:C8,SEQUENCE(ROWS(A2:C8))<=3) returns the first three rows, just like =TAKE(A2:C8,3).

Sources

  • Dynamic array formulas and spilled array behavior - Microsoft Support
  • SORT function - Microsoft Support
  • FILTER function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 3, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. TAKE and DROP syntax
  2. TAKE function examples
  3. Make a top N list with TAKE and SORT
  4. How to use DROP to remove rows
  5. Get the latest N entries from a growing list
  6. TAKE alternatives for Excel 2021
  7. Common TAKE mistakes
  8. Practise it

Keep reading

Dynamic arrays· 6 min read

Make a Top 5 List With SORT and FILTER

To make a top 5 list with a formula, keep the rows whose value is at least the 5th largest, then sort them: =SORT(FILTER(A2:C9,C2:C9>=LARGE(C2:C9,5)),3,-1). Change 5 to 10 for a top 10 list. It spills the whole rows, largest first, and includes ties. It needs Excel 2021, Excel 2024 or Microsoft 365.

Dynamic arrays· 6 min read

SORT and SORTBY in Excel

SORT returns a sorted copy of a range: =SORT(A2:C9,3,-1) sorts by the 3rd column, largest first. SORTBY sorts one range by the values in another, so the column you sort by doesn't have to be in the result, and it handles several sort levels. Both leave the original data unchanged and need Excel 2021, Excel 2024 or Microsoft 365.

Dynamic arrays· 6 min read

Dynamic Arrays in Excel Explained Simply

Dynamic arrays let one Excel formula return several values that spill into the cells below or beside it. Type =UNIQUE(B2:B9) in one cell and the whole list appears, then resizes when the data changes. They need Excel 2021, Excel 2024, Microsoft 365 or Excel for the web. Refer to a whole spill with a # after its first cell, such as E2#.

More on dynamic arrays

  • TRANSPOSE in Excel: Flip Rows and Columns
  • Get Unique Values From Multiple Columns in Excel
  • The UNIQUE Function in Excel
  • Make a Sorted List of Unique Values in Excel
  • Auto Number Rows in Excel (SEQUENCE and ROW)
  • Count Unique Values With Criteria in Excel
All dynamic arrays articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free