Excel Dynamic Arrays: FILTER, SORT, UNIQUE, and SEQUENCE Explained
Learn how Excel's modern dynamic array functions — FILTER, SORT, UNIQUE, and SEQUENCE — automatically spill results into multiple cells, replacing complex array formulas and manual updates.
Dynamic array functions, introduced in Microsoft 365 and Excel 2021, fundamentally changed how formulas work. Instead of returning a single value, these functions return a range of results that automatically "spill" into neighboring empty cells. No more Ctrl+Shift+Enter, no more dragging fill handles.
What Is a Spill Range?
When a dynamic array formula returns multiple values, they flow into adjacent cells automatically. This spill range is indicated by a blue border. The formula lives only in the top-left cell — the rest are read-only overflow.
To reference an entire spill range in another formula, use the spill operator #:
FILTER: Extract Rows That Meet Conditions
FILTER is the dynamic replacement for complex combinations of INDEX/MATCH or helper columns.
Example: Extract all rows from a sales table where Region is "North":
The if_empty argument prevents the #CALC! error when nothing matches.
Multiple Conditions with FILTER
AND logic (both conditions must be true — multiply conditions):
OR logic (either condition — add conditions):
Combining FILTER with SORT
Extract the top 5 highest-revenue rows from the North region:
The 4 means sort by column 4 (Revenue), -1 means descending order.
SORT and SORTBY: Order Your Data Dynamically
Sort a product list alphabetically:
Sort a multi-column table by the 3rd column in descending order:
SORTBY for Multi-Level Sorting
SORTBY sorts one array based on the values in another — useful when the sort column is not part of the returned array:
This sorts by column B descending first, then by column A ascending as a tiebreaker.
UNIQUE: Deduplicate Lists Instantly
Extract a distinct list of products from a column:
Return items that appear exactly once (not duplicated at all):
Building a Dynamic Dropdown with UNIQUE
Use the spill range from UNIQUE as the source for a data validation dropdown:
- Put
=UNIQUE(C2:C100)in cellF2. - Select the dropdown target cell → Data → Data Validation → List.
- In Source enter:
=$F$2#
The dropdown now updates automatically whenever new products appear.
SEQUENCE: Generate Number or Date Series
Generate numbers 1 through 20:
Create a 4-row by 3-column multiplication table starting at 1, step 1:
Generating a Date Series
Create a full calendar month starting from a date in cell A1:
Format the results as dates. To limit to weekdays only, wrap in WORKDAY:
Practical Combined Example: Dynamic Leaderboard
Show the top 10 salespeople by revenue with their region, sorted highest first:
Where column A = Name, B = Region, C = Product, D = Revenue. TAKE (Excel 365) returns the first N rows of the sorted spill.
For Excel 2021 without TAKE:
Compatibility Notes
| Function | Excel 365 | Excel 2021 | Excel 2019 | Google Sheets |
|---|---|---|---|---|
| FILTER | ✅ Supported | ✅ Supported | ❌ Not available | ✅ Supported |
| SORT | ✅ Supported | ✅ Supported | ❌ Not available | ✅ Supported |
| UNIQUE | ✅ Supported | ✅ Supported | ❌ Not available | ✅ Supported |
| SEQUENCE | ✅ Supported | ✅ Supported | ❌ Not available | ✅ Supported |
| TAKE | ✅ Supported | ❌ Not available | ❌ Not available | ✅ Supported (2023+) |
| SORTBY | ✅ Supported | ✅ Supported | ❌ Not available | ✅ Supported |
For Excel 2019 backward compatibility, use the classic INDEX / MATCH pattern or helper columns instead of dynamic array spills.