How to Create a Dynamic Excel Array Formula That Expands Automatically
Question details
The user needs to set up an Excel array formula that automatically expands or contracts as data rows change, and also wants to incorporate additional filtering criteria.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Working with constantly changing data sets where formula ranges need to adapt dynamically without requiring manual range updates.
- Observed behavior
- Fixed ranges in standard array formulas do not update automatically when new rows are added or removed, limiting the scalability of the worksheet calculations.
Ensure your dataset is organized in contiguous columns, and identify a column that consistently contains numeric data to help determine the last active row.
Use INDEX and MATCH to Create Dynamic Ranges
Replace hardcoded ranges with a combination of INDEX and MATCH functions to dynamically detect the last row of your dataset.
By utilizing the INDEX function paired with MATCH looking for an extremely large number (like 1E+100), you can force Excel to find the very last numeric value in a specific column. This allows you to construct a dynamic range that adjusts automatically as you add or delete rows.
Identify the hardcoded ranges in your existing array formula, such as F7:F100 or B7:B100.
Substitute the fixed end of the range with INDEX and MATCH. For example, change F7:F100 to F7:INDEX(F:F,MATCH(1E+100,F:F)).
Repeat this dynamic range substitution for any other columns referenced in your formula (like column B) to ensure all array dimensions match exactly.
If you need specific conditions (e.g., column D must equal 'UD'), embed them using IF statements containing the same dynamic range setup, such as IF(D7:INDEX(D:D,MATCH(1E+100,D:D))="UD", ...).

Master Dynamic Array Formulas Seamlessly in WPS Office
WPS Spreadsheet fully supports advanced functions like INDEX, MATCH, and complex array formulas. You can easily manage expanding datasets, apply custom criteria, and process large amounts of data without worrying about formula errors or compatibility issues.
- 1. Open your dataset: Launch WPS Spreadsheet and open the document containing the data you want to analyze.
- 2. Select the target cell: Click on the cell where you want to output the results of your dynamic array formula.
- 3. Input the dynamic formula: Type in your formula utilizing the INDEX and MATCH combination (e.g., F7:INDEX(F:F,MATCH(1E+100,F:F))) alongside any IF criteria.
- 4. Execute the array formula: Press Ctrl+Shift+Enter to apply the array formula, or simply press Enter if utilizing WPS Spreadsheet's modern dynamic array capabilities.

Frequently Asked Questions
What does 1E+100 mean in the MATCH function?
1E+100 is scientific notation for an exceptionally large number (1 followed by 100 zeros). When used with the MATCH function in an approximate match mode, it forces the software to search to the very end of the column and return the relative position of the last numeric value.
Can I use dynamic arrays with text data instead of numbers?
Yes. To find the last text value in a column dynamically, you can use MATCH("zzzz", F:F) instead of MATCH(1E+100, F:F). This works similarly by searching for a text string that comes last alphabetically.
Why is my dynamic array formula returning a #VALUE! error?
This error generally occurs if the dynamic ranges constructed for different columns in your formula do not contain the same number of rows. Ensure that all INDEX and MATCH combinations align perfectly and start at the same row.
Does WPS Office support dynamic array formulas?
Yes, WPS Spreadsheet supports both modern dynamic arrays and traditional array formulas (executed via Ctrl+Shift+Enter). Advanced function combinations like INDEX, MATCH, and complex criteria filtering are fully compatible.




