How to Fix the #SPILL! Error in Excel
The #SPILL! error in Excel means a dynamic array formula cannot expand. Learn how to clear the spill range and fix the formula.
#SPILL! appears when a dynamic array formula wants to return multiple cells but Excel cannot place the results. The formula is usually valid. The output range is blocked, merged, inside a table that does not support the spill, or too large for the available grid.
This error is common with FILTER, SORT, UNIQUE, SEQUENCE, and formulas that return more than one value.
Understand the spill range
A formula like this can return several matching rows:
=FILTER(A2:D100,D2:D100="Open")Excel needs empty cells below and to the right of the formula cell. If anything sits in that output area, Excel shows #SPILL!.
Click the error cell. Excel usually outlines the blocked spill range so you can see where the result is trying to go.
Clear cells blocking the output
The most common fix is simple: remove values, spaces, notes, or formatting artifacts from the spill range.
Look especially for cells that appear blank but contain a space or old formula. Select the suspected range and press Delete. If the formula spills successfully, the issue was a blocked output area.
In project tracker templates and content calendars, this happens when a filtered task list is placed too close to manually entered notes or another report block.
Unmerge cells in the spill range
Dynamic array formulas cannot spill into merged cells. If the outlined range includes merged cells, unmerge them:
- Select the blocked range.
- Go to
Home. - Choose
Merge & Center. - Select
Unmerge Cells.
Then re-check the formula.
Move the formula out of an Excel table
Some dynamic arrays do not spill correctly inside structured Excel tables. If the formula lives inside a formatted table, move it to a normal worksheet range outside the table.
For example:
=UNIQUE(Table1[Category])Place that formula beside or below the table where the output has room to expand.
Common causes and fixes
| Cause | What to look for | Fix |
|---|---|---|
| Blocked cells | Values or spaces in the output area | Delete the blocked cells |
| Merged cells | Merged blocks inside the spill range | Unmerge the cells |
| Formula in a table | Dynamic array placed inside an Excel table | Move formula outside the table |
| Output too large | Formula returns too many rows or columns | Narrow the source range or filter criteria |
| Volatile result size | Output changes as data changes | Leave extra blank space around the formula |
TIP
The Griddy way
#SPILL! errors are layout problems as much as formula problems. The hard part is finding what blocks the output and deciding where the report should live.
"Fix the #SPILL! errors in this project tracker, move any dynamic reports that need more room, and keep the source table intact"
Griddy can inspect the spill ranges, clear or move blocked outputs, and preserve the structure of the original sheet.
Skip the manual work
Describe it. Griddy does it.
Instead of writing this formula yourself, just tell Griddy what you need in plain English. Works in Excel and Google Sheets.
Use this on real templates
Give dynamic reports room to expand
Spill errors are common when filtered task lists, unique category reports, or dynamic planning views are placed too close to manual worksheet content.
Project Tracker
Track tasks, owners, priorities, due dates, and blockers in one delivery board. Group work by stream, review progress, and keep next steps visible.
Open templateProject ManagementProject Tracker for Engineering Teams
Track engineering projects, owners, milestones, dependencies, risks, releases, and blockers in one free spreadsheet template.
Open templateMarketingContent Calendar
Plan topics, channels, owners, publish dates, and content status in one editorial board. Track weekly campaigns and keep your publishing mix visible.
Open templateMarketingSocial Media Calendar
Plan social posts by platform, format, posting time, asset, and status in one publishing board. Keep launches, drafts, and scheduled content visible.
Open template