Alternatives to dynamic array functions include legacy formulas like INDEX, AGGREGATE, and SUMPRODUCT, plus newer tools like Power Query and scripting languages. This article explains the main options, when each makes sense, and how to choose based on your Excel version and task.
Why Look for Alternatives?
Dynamic array functions (FILTER, SORT, UNIQUE, SEQUENCE, and the # spill behavior) were introduced in Excel 365 and are not available in older perpetual-license versions like Excel 2016, 2019, or 2021. If you share workbooks with users on those versions, or if you need a formula that works in both Excel and Google Sheets, you must rely on traditional approaches. Even in Excel 365, some tasks—like returning a single value from a filtered list—are simpler with a classic function.
Legacy Formula Alternatives
The most direct replacements for common dynamic array tasks are:
- INDEX + MATCH – replaces FILTER for returning one matching value; also handles reverse lookups.
- AGGREGATE – replaces FILTER for returning multiple numeric results while ignoring errors or hidden rows.
- SUMPRODUCT – replaces SUMIFS/COUNTIFS for conditional sums and counts without array entry.
- LOOKUP family – VLOOKUP, HLOOKUP, LOOKUP for simple exact or approximate matches.
- OFFSET + MATCH – creates dynamic ranges for charts and named ranges.
Each has quirks. INDEX+MATCH is robust for exact matches but requires a helper column if you need multiple matches. AGGREGATE can return the nth match using SMALL, but the formula becomes long and hard to read. SUMPRODUCT handles arrays natively but can slow down large datasets.
Power Query (Get & Transform)
Power Query is a built-in Excel tool (Data tab > Get & Transform) that performs data shaping without formulas. It can filter, sort, remove duplicates, unpivot, and merge tables. The output is a table that refreshes with one click. This is the best alternative when you need a repeatable data-cleaning process rather than a live formula. For example, instead of using UNIQUE to list distinct customers, you can load the data into Power Query, remove duplicates, and load the result to a worksheet. The downside: the result is static until you refresh, and you must re-run the query when source data changes.
PivotTables and Slicers
PivotTables are the classic tool for summarizing and filtering data without formulas. They can group, count, sum, and show unique counts. Slicers provide interactive filtering. If your goal is to present a filtered view of data (like a list of sales over $100), a PivotTable with a value filter does the job. PivotTables require no formulas and work in every Excel version. The trade-off is that they are not as flexible for arbitrary calculations, and they require the source data to be in a tabular format.
Array Formulas (CSE)
Before dynamic arrays, Excel had legacy array formulas entered with Ctrl+Shift+Enter. These can return multiple results but require selecting a range and pressing CSE. For example, to get a list of unique values, you could use a complex array formula with INDEX, MATCH, and COUNTIF. These formulas work in older Excel but are notoriously difficult to debug. They also require you to know the output size in advance, which is a major limitation compared to dynamic arrays that spill automatically.
Scripting: VBA and Office Scripts
For full control, VBA macros can replicate almost any dynamic array behavior. You can write a subroutine that filters a range and writes results to a new location. Office Scripts (available in Excel for the web and Excel 365) provide a similar capability using JavaScript. Scripting is the right choice when you need to automate a complex transformation that formulas cannot handle, such as merging files or reshaping data. The main drawback is that VBA requires enabling macros, and Office Scripts are not available in all plans.
How to Choose the Right Alternative
Consider three factors:
- Excel version – If you must support Excel 2016 or 2019, avoid dynamic arrays entirely and use legacy formulas or PivotTables.
- Data size – For large datasets (tens of thousands of rows), Power Query and PivotTables are faster than array formulas.
- Update frequency – If data changes often and you need live results, use formulas (INDEX/MATCH, SUMPRODUCT). If you can refresh manually, Power Query is easier to maintain.
For most users, the practical advice is: use INDEX+MATCH for lookups, SUMPRODUCT for conditional sums, and PivotTables for reporting. Reserve Power Query for heavy data cleaning and VBA only for repetitive tasks that formulas cannot do.
Common Problems and Pitfalls
Legacy formulas have several traps:
- Volatile functions – OFFSET and INDIRECT recalculate every time any cell changes, slowing down large workbooks.
- Array entry – Forgetting to press Ctrl+Shift+Enter in older Excel gives wrong results or #VALUE! errors.
- Implicit intersection – In older Excel, a formula like =A1:A10 returns the value in the same row, not a spill, which confuses users.
- No dynamic size – Legacy array formulas require pre-selecting the output range; if the result is larger, you get #N/A.
To avoid these, always test with a small sample, use absolute references where needed, and document your formulas.
Frequently Asked Questions
Can I use FILTER in Excel 2019?
No. FILTER, SORT, UNIQUE, SEQUENCE, and SORTBY are only available in Excel 365 and Excel for the web. In Excel 2019, you can achieve similar results with array formulas (CSE) or Power Query.
What is the best replacement for UNIQUE?
For a simple list of unique values, use Power Query’s “Remove Duplicates� or a PivotTable. If you need a formula, you can use a legacy array formula with INDEX, MATCH, and COUNTIF, but it is complex. In Google Sheets, you can use UNIQUE directly, as it supports dynamic arrays.
Are dynamic arrays faster than legacy formulas?
Generally, dynamic arrays are faster and more memory-efficient because they are natively calcualted by the new calculation engine. Legacy array formulas can be slower, especially volatile ones like OFFSET. For large data, Power Query is often the fastest because it processes data in the background.
Can I use dynamic arrays in Google Sheets?
Yes, Google Sheets has its own dynamic array functions: FILTER, SORT, UNIQUE, SEQUENCE, and ARRAYFORMULA. The syntax is similar but not identical. For example, Google Sheets uses =SORT(A2:A) instead of =SORT(A2:A).
Why does my INDEX+MATCH return #N/A?
This usually means the lookup value is not found. Check for extra spaces, text vs. number formatting, or that the lookup column is the first column in the range. Also ensure you are not using an approximate match when you need an exact match (use 0 as the third argument).
Is it worth upgrading to Excel 365 just for dynamic arrays?
If you frequently work with data cleaning and reporting, yes. Dynamic arrays simplify formulas and reduce the need for helper columns. However, if your work is simple and your colleagues are on older versions, you can manage without them using the alternatives above.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.
More cards in this drawer
- Philips DST7060/20 7000 Series Iron: Specs & Fit
- Coal Fueled Jet Aircraft: Could It Work?675 L
- Remote Desktop on Raspberry Pi: How to Enable It
- Word Select Last Line in Paragraph?
- Google Assistant IFTTT Recipes: 7 Useful Automations
- OLED TVs in Dark Rooms: Why They Look Better and When They Don’t