Blocked spill range
Cause: Your dynamic formula wants to spill into surrounding cells, but something is there. Usually a value in one of the target cells, a merged cell in the range, or the spill would go past the sheet edge.
The new class of errors introduced with dynamic arrays in 2020. If you've never seen #SPILL! or #CALC! before but suddenly are — this page tells you exactly what's blocking your formulas.
Dynamic arrays let one formula return many values that automatically spill into surrounding cells. That's the good news. The bad news: if anything is in the way of that spill, or if the calculation can't complete, Excel invents new error codes to explain what happened. #SPILL! and #CALC! are those codes — and they're specific to modern Excel.
These errors do not appear in Excel 2019 or earlier because those versions don't have dynamic arrays.
Cause: Your dynamic formula wants to spill into surrounding cells, but something is there. Usually a value in one of the target cells, a merged cell in the range, or the spill would go past the sheet edge.
Cause: Excel's calc engine ran into something it can't handle — an empty array, unsupported nested arrays, LAMBDA returning inconsistent types, or a recursive LAMBDA overflow.
Cause: One of the cells the formula wants to spill into is part of a merged group. Merged cells are incompatible with dynamic array spilling.
Cause: Dynamic array formulas cannot spill inside an Excel Table (Ctrl+T table). Tables have fixed column boundaries that conflict with unpredictable spilling.
A:A — a full million-row column), Excel might return #SPILL! from memory constraints. Narrow the range.A2:A10000 instead of A:A reduces memory pressure=IFERROR(FILTER(range, condition), "No matches") prevents #CALC! from empty results=SUM(A1#) is safer than hardcoded ranges when spill size variesBecause dynamic arrays didn't exist before 2020. Excel 2019 and earlier only allowed single-value formulas. When Microsoft added spilling, they had to invent new error codes for when spilling failed — that's where #SPILL! and #CALC! come from.
Not without turning off Excel 365 features. If you truly need old-school behavior for compatibility, use @ before formulas (the implicit intersection operator) — that forces single-value return. But it's rarely what you actually want.
Cache issue. Press F9 to recalculate. If still stuck, delete the formula and retype it. Occasionally a stale spill lock persists — closing and reopening the workbook clears it.
Not really — the formula didn't compute so no CPU was used. However, having many broken formulas visible clutters the sheet and confuses users. Fix them or wrap in IFERROR to hide them from viewers.
Sheets has similar spilling behavior with slightly different error messages. Sheets uses "Array result was not expanded because it would overwrite data" — the exact same concept, different wording.
The Add-in's Error Explainer highlights the exact obstruction, explains why the spill failed, and gives you the fix — right inside Excel.
Get the Add-in →