How to Fix Excel Online INDIRECT Array Formulas Not Working
Question details
Users need to resolve calculation failures and incorrect results when using the INDIRECT function with dynamic ranges or arrays in Excel for the Web.

- Product
- Excel Online
- Device & OS
- not provided
- Scenario
- Attempting to calculate complex array formulas or dynamic ranges using the volatile INDIRECT function in a web-based spreadsheet.
- Observed behavior
- The formulas return incorrect results (e.g., yielding 0 instead of 1) or fail completely. Additionally, the workbook's performance drops due to excessive volatile calculations.
Before making structural changes to your formulas, duplicate your workbook to create a safe test copy and verify that your browser cache is not causing syncing delays.
Use the Spill-Range Operator Instead of INDIRECT
Replacing the volatile INDIRECT function with the spill-range operator (#) provides a much more stable and efficient way to reference dynamic arrays in Excel Online.
The INDIRECT function is volatile, meaning it recalculates every time a change is made anywhere in the workbook. In web environments like Excel Online, this can lead to calculation timeouts or errors. Using the spill-range operator (#) explicitly targets the entire dynamic array without the heavy performance cost.
Locate the primary cell where your dynamic array begins to spill (for example, cell AG2).
In your dependent formula, reference the starting cell and immediately follow it with the '#' symbol (e.g., AG2#).
Replace the problematic INDIRECT logic. For example, change your formula to =IF(AG2#="B",1,0) and press Enter to apply.

Revert to Direct Cell or Range References
If you are not working with a spilled dynamic array, using a standard direct reference is the safest way to ensure formulas calculate correctly.
Use WPS Office for Reliable Array Formula Calculations
When web-based spreadsheets like Excel Online struggle with complex, volatile functions and array processing, consider switching to WPS Office. It offers a powerful desktop calculation engine that handles heavy dynamic ranges with ease, without the performance bottlenecks of browser-based apps.
- 1. Download WPS Office: Visit the official WPS website, download the free suite, and install it on your computer.
- 2. Open Your Spreadsheet: Launch WPS Spreadsheet and open your existing .xlsx file containing the array formulas.
- 3. Calculate Seamlessly: Enjoy fast, uninterrupted calculations for all your INDIRECT and dynamic array formulas natively.

Frequently Asked Questions
Why does the INDIRECT function cause performance issues in Excel Online?
INDIRECT is known as a volatile function. This means it forces Excel to completely recalculate the formula every single time any cell in the workbook is modified. In a browser-based environment like Excel Online, calculating thousands of volatile functions simultaneously can cause severe lag, freezing, or incorrect outputs.
What is a spilled array in Excel?
A spilled array occurs when a single formula produces multiple values as its result, and those values automatically 'spill' into neighboring blank cells. You can easily reference this entire range of results dynamically by adding the '#' operator to the cell address where the formula was typed (e.g., A1#).
Can I completely avoid using the INDIRECT function?
In many cases, yes. You can often replace INDIRECT with non-volatile functions like INDEX, OFFSET (which is also volatile but sometimes handles better), or CHOOSE. For dynamic arrays specifically, referencing the spill range directly using the '#' operator is the best modern alternative.




