Excel #SPILL! Error: Fix Blocked Array Formulas
By Szabó Gergő · Updated
#SPILL! means a dynamic array formula cannot write into its output area because another value, merge, or Table is in the way.
Syntax and arguments
=FILTER(array, include, [if_empty])- array
- The source that would spill several cells.
- include
- The condition that sizes the result.
#SPILL! examples
FILTER is in G2 and G5 has a leftover note.
=FILTER(A2:C100,B2:B100="East","")Click the #SPILL! cell, note the dashed border, and clear G3:I20 or wherever Excel wanted to write.
UNIQUE sits inside an Excel Table column.
=UNIQUE(Table1[Customer])Place this formula in a cell outside the Table so the spill is not constrained to one row.
G2:H2 is merged.
=SORT(A2:A50)Unmerge before spilling. Dynamic arrays cannot write through merged cells.
Common mistakes
Blocking the spill with a header you typed next door
Leave a blank block under and to the right of the formula equal to the result size.
Implicit intersection in old Excel
#SPILL! appears in Microsoft 365. Older Excel may need Ctrl+Shift+Enter or a different approach.
Whole-column UNIQUE on a used sheet
Limit the array to the data rows so the spill does not fight used cells far below.
#SPILL! FAQ
How do I see what is blocking the spill?
Select the formula cell. Excel outlines the intended range and often lists the reason in the warning.
Can I spill into a Table?
Not as a multi-cell spill. Keep dynamic arrays outside Tables, or use helper columns inside the Table.
Does #SPILL! mean the formula is wrong?
The formula may be correct. The worksheet layout is blocking the output.