How to Use the DROP and TAKE Functions in Excel for Array Manipulation

The Problem with Messy Arrays

Dynamic Arrays in Microsoft 365 (like SORT, FILTER, and UNIQUE) are incredibly powerful, but they often output more data than you actually want to see.

Suppose you use a dynamic array formula to generate a sorted list of your Top 100 sales reps. However, your executive dashboard only has physical space to display the Top 5 reps.

Historically, solving this required complex, nested INDEX or OFFSET formulas that were virtually impossible for beginners to read or debug.

Microsoft elegantly solved this by introducing two highly intuitive array manipulation functions: TAKE and DROP. These functions allow you to surgically slice the top, bottom, left, or right edges off of any dynamic array instantly.

1. The TAKE Function (Keeping Data)

The TAKE function is used when you want to keep a specific number of rows or columns from an array and discard the rest.

=TAKE(array, rows, [columns])

Assume you have a massive dataset of 500 sorted sales transactions in cells A2:D501 (where A is Date, B is Rep, C is Region, D is Amount).

Scenario A: Keeping the Top 5
If you only want to extract the very first 5 rows of that data to build a mini-dashboard:

=TAKE(A2:D501, 5)

Excel instantly grabs the top 5 rows and spills them into a new, compact 5-row array.

Scenario B: Keeping the Bottom 3 (Using Negative Numbers)
This is the true brilliance of the function. If you use a negative number, TAKE starts counting from the absolute bottom of the array.

If you want to see the 3 worst-performing transactions at the very bottom of your list:

=TAKE(A2:D501, -3)

2. The DROP Function (Discarding Data)

DROP is the exact opposite of TAKE. Instead of defining what you want to keep, you define what you want to throw away.

=DROP(array, rows, [columns])

Scenario C: Removing Headers
Often, when you import data from an external CSV file using Power Query or a raw formula, the data comes with an annoying header row (e.g., “Date”, “Rep”, “Amount”) that breaks your math formulas.

You can use DROP to instantly strip the top row off the dataset.

=DROP(A1:D501, 1)

Excel grabs the massive block of data, drops row 1 into the trash, and spills the remaining 500 rows of pure, clean numbers.

3. Slicing Columns (The Optional Argument)

Both TAKE and DROP have an optional third argument for manipulating columns.

Assume your 500-row array has 4 columns (Date, Rep, Region, Amount). You want the Top 5 rows, but you only want the first two columns (Date and Rep). You don’t care about Region or Amount.

=TAKE(A2:D501, 5, 2)

This tells Excel: “Keep the top 5 rows, and keep the first 2 columns. Discard everything else.” The result is a clean, 5×2 grid.

If you want all 500 rows, but you want to completely remove the very last column (Amount) on the right side of the data, you use DROP with a negative column number:

=DROP(A2:D501, 0, -1)

(Note: We use 0 for the row argument because we don’t want to drop any rows, only columns).

Conclusion

TAKE and DROP are the scissors of the Excel formula ecosystem. By providing simple, intuitive syntax to slice off headers, isolate top performers, and trim unnecessary columns, they allow analysts to rapidly sculpt raw, messy datasets into clean, dashboard-ready arrays without resorting to complex math.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.