Excel’s #SPILL! error means a formula is trying to return multiple results, but Excel cannot place all of them in the cells it needs. Clear or move anything blocking the intended output range, then check for merged cells or a formula entered inside an Excel table.
What the #SPILL! error means
In Microsoft Excel for Microsoft 365, many formulas can return an array: a group of results rather than one value. Excel places those results in neighboring cells automatically, a behavior called spilling. The cell containing the formula is the top-left cell of the output, and the cells filled with its results are the spill range. If Excel cannot use that range, it displays #SPILL! in the formula cell.
For example, a sorting formula can return several values at once. With the values 12, 8, 12, and 5 in A2:A5, enter the following formula in D2:
With the numbers 12, 8, 12, and 5 in A2:A5, =SORT(A2:A5) entered in D2 returns 5, 8, 12, and 12 in D2:D5, provided those destination cells are available.
The error is not a sign that the formula is necessarily written incorrectly. It often means the formula is valid but its results have nowhere to go. This differs from errors such as #VALUE!, which usually indicate an issue with a value or argument, and #REF!, which indicates an invalid cell reference.
How to find and clear the blockage
Start by selecting the cell showing #SPILL!. Excel may display a warning icon beside it. Open that icon’s menu and choose the option to select obstructing cells, if it is available. This can take you to cells Excel has identified as blocking the output. You can also look at the dashed outline that may appear around the intended spill range.
- Select the formula cell and note the outline of the range it is trying to fill.
- Inspect every cell inside that range, including cells that look empty.
- Move or remove content that should not be there. To clear contents without deleting cells, use Home > Clear > Clear Contents.
- Check for merged cells or an Excel table in the intended output area.
- After fixing the cause, confirm the formula cell recalculates and the results appear.
A cell can look blank and still block a spill. It may contain a space, an apostrophe, or a formula that returns an empty string. Formatting alone, such as a fill color or border, usually does not make a cell occupied; actual content is the key thing to check. If the cell contains information you need, move it elsewhere rather than clearing it.
On Windows, the Delete key clears the contents of selected cells. On a Mac, the key labeled Delete usually works as Backspace does on a Windows keyboard; menu commands are a dependable alternative. Avoid deleting whole rows or columns unless that is what you intend, because doing so can shift other worksheet data.
Common causes of #SPILL!
Excel identifies several specific situations that can prevent an array formula from spilling. The warning message can help distinguish them, but the underlying idea is the same: the formula cannot use the full output area it needs.
- Cells are not blank: A value, a space, or another formula occupies one or more destination cells. Clear or relocate that content.
- A merged cell is in the way: Dynamic array results cannot spill through merged cells. Unmerge the relevant cells or choose a different destination.
- The formula is inside an Excel table: Spilled array formulas are not supported within table cells. Put the formula in a normal worksheet range outside the table.
- The intended range is too large: The formula would need more worksheet cells than Excel can use, or its result would extend past the sheet’s edge. Reduce the output or place the formula where the full result fits.
- The result size cannot be determined: Some formulas can produce an output whose size Excel cannot settle reliably. Review the formula’s inputs and whether changing or volatile values affect the number of results.
These causes can overlap. For instance, a formula may produce hundreds of results and encounter one nonblank cell near the bottom of its spill range. Fixing only the first visible obstruction may reveal another one, so recheck the full outlined range after each correction.
Why tables and merged cells need special attention
Excel tables are useful for structured data, filters, and formulas that automatically fill down a column. However, a dynamic array formula that needs to populate multiple cells cannot spill from inside a table. If you want to return a changing list from table data, place the array formula in a normal cell outside the table and leave room for its results. You can still use table columns as the formula’s source.
This is different from entering an ordinary formula in a table column. A calculated column is designed to copy a single-row formula down the table; it is not the same as one formula returning an array into neighboring cells. If the formula must remain in the table, consider whether a row-by-row formula is appropriate, or move the output area outside the table.
Merged cells cause a separate problem. A spill range needs individual cells in which to place results, but a merged area acts as one combined region. Unmerge the cells in the destination area if that layout is not essential, or move the formula to an unmerged section of the worksheet. Do not unmerge cells casually if the merged layout contains important headings or presentation formatting.
How dynamic arrays work
Older Excel formulas typically returned one result to one cell, even when they referred to a range. Dynamic array formulas can return multiple results and resize their output as the source data changes. Functions such as SORT, FILTER, UNIQUE, and SEQUENCE are examples available in Microsoft 365 and Excel 2021 or later. Their outputs spill automatically; you do not need to select a block of cells and confirm an array formula with a special key combination.
For example, if A2:A6 contains five task names, placing a unique-list formula in D2 can return one copy of each distinct name below it. The number of returned results can change when the source list changes. That flexibility is useful for reports and dropdown-source lists, but it means the destination range must remain clear as the output grows.
When referring to a spilled result elsewhere, Excel uses the spill operator, written as a number sign after the formula cell reference. For example, a reference to D2# means the whole spill range originating at D2, not just D2 itself. If the original formula cannot spill, references to that output may also fail to provide the expected results.
Some workbooks created in older Excel versions may show an implicit intersection operator, written as @, in formulas. It indicates that Excel is using a single value from a range in that formula context. Removing @ is not a universal fix for #SPILL!; it can change what a formula calculates. First identify why the intended output cells are unavailable.
Fixes that can create new problems
Deleting cells is quick, but it can remove data or formulas that the workbook depends on. Before clearing a large range, inspect its contents and consider moving them to a safe location. If you are unsure what occupies a cell, select it and examine the formula bar. A formula that displays nothing may still be present and may still block the array output.
Do not insert @ into a formula just to hide the error unless you deliberately want a single result. Doing so can suppress the array behavior rather than solve the obstruction, and the resulting value may not be the list you need. Similarly, changing the formula to return fewer rows can work when a smaller result is genuinely acceptable, but it should not be used to conceal an unintended blockage.
If clearing a suspected blocker does not work, check whether the selected cell is actually inside the spill range and whether another cell farther down or across is occupied. Also confirm that the formula’s source data has not changed in a way that makes the output larger. A formula that worked yesterday may produce more results today and reach cells that were previously outside its output.
Excel versions and platform differences
This explanation is for Excel for Microsoft 365 on Windows. Dynamic arrays are also supported in current Excel for Mac and Excel for the web, although the exact warning presentation and navigation can vary. The general repair is the same: identify the spill range, make the destination usable, and account for table or merged-cell limitations.
Dynamic array functions are not available in every older Excel edition. SORT, FILTER, UNIQUE, SEQUENCE, and related functions require Microsoft 365 or a version that includes them, such as Excel 2021 for these functions. In an older edition, a workbook may instead show a function-name error or fail to calculate a formula because that function is unsupported; that is different from a genuine #SPILL! obstruction.
If you are collaborating with someone using an older version, check which Excel edition they have before assuming the workbook will behave identically. Compatibility can affect whether a formula is recognized and how its results appear. Excel for the web and Mac also have different interface details from Windows, but they do not change the core meaning of #SPILL!.
Frequently Asked Questions
Is #SPILL! a formula error or a cell error?
It is an Excel error value shown in the formula cell when an array result cannot be placed in its intended range. The formula may be valid; the issue is commonly the destination cells or the shape of the requested output.
How do I find which cell is blocking a spill?
Select the error cell and open the warning icon’s menu. If Excel offers a command to select obstructing cells, use it, then inspect the outlined spill range. Check for spaces and formulas that display blank, not just visible values.
Can I use a spill formula inside an Excel table?
A dynamic array formula cannot spill within a table. Put the formula in a regular worksheet range outside the table, with enough clear cells for its results, or use an appropriate row-by-row table formula instead.
Why does #SPILL! appear when the cells look empty?
A destination cell may contain a space, an invisible character, or a formula returning an empty string. Select the cells and inspect the formula bar, or clear their contents if they are not needed. Cell formatting by itself is generally not the cause.
Does #SPILL! mean my Excel version is too old?
Not necessarily. In a version that supports the formula, #SPILL! usually means Excel cannot place the results. In an older version without a particular dynamic array function, you are more likely to see a different problem, such as an unsupported function name.
Quick checklist
When the error appears, identify the formula’s intended output range before changing the formula. Remove or move actual content in that range, unmerge any cells that overlap it, and move the formula outside an Excel table if necessary. Then allow the formula to recalculate and check whether the full set of results appears. If the spill range has grown, make sure it still fits on the worksheet and does not overwrite information you need.
Related
- Conditional Formatting for Overdue Dates in Excel: Guide
- Conditional Formatting in Outlook: Setup and Limits
- Conditional Formatting Color Scales in Excel Explained
Try it: the Formula Explainer: paste any formula and see each function and reference in plain English.
More in Errors & fixes
- Excel Filter Not Working? Fix the Most Common CausesIf an Excel filter is missing rows, showing unexpected results, or not responding, first check that the filter…
- Excel #NAME? Error: How to Fix ItIf Excel displays #NAME?, it cannot recognize text in the formula, such as a misspelled function, an undefined…
- Excel Can’t Push Non-Empty Cells: How to Fix ItExcel shows this error when inserting cells, rows, or columns would force existing worksheet content beyond the sheet’s…
- VLOOKUP Not Working on a PivotTable? Fixes That WorkYes, VLOOKUP can look up values in a PivotTable’s displayed cells, but it often fails when the pivot’s…
- VLOOKUP Not Working? Fix Formulas Showing in ExcelIf Excel displays the VLOOKUP formula itself instead of a result, first turn off Formulas > Formula Auditing…
- Excel.exe Not Responding? Fix Excel Freezes on WindowsIf Excel.exe says “Not Responding,” give Excel a few minutes if it may be calculating, then check whether…
Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources
Spotted an error in this guide? Let us know.