Excel’s #SPILL! error appears when a formula returns multiple results but Excel cannot place them in the cells it needs.

Learn how to identify what is blocking the output, fix common causes, and handle formulas that spill differently across Excel versions.

What does the #SPILL! error mean in Excel?

Dynamic array formulas can return a list, row, or table of results from one formula cell.

Excel places the first result in the formula cell and fills neighboring cells automatically; this output area is called the spill range.

For example, if A2:A6 contains five names, entering =A2:A6 in C2 can return five values in C2:C6.

The #SPILL! error means Excel cannot put one or more results in the required cells.

The formula may be valid, but the output area is unavailable or the formula is being used in a context that does not support spilling.

Select the error cell: Excel often outlines the intended spill range and displays a warning icon with a more specific explanation.

How do you clear cells blocking the spill range?

A common cause is content already present in one of the output cells.

Even a space, an apostrophe, or a formula that displays an empty string can block the spill.

Suppose a formula in D2 needs to return results through D6, but D4 contains an old value.

Excel cannot overwrite D4, so the formula in D2 displays #SPILL!.

  1. Select the formula cell that shows #SPILL!.
  2. Check the outlined spill range to see which cells the formula needs.
  3. Inspect those cells for values, formulas, spaces, or other content.
  4. Clear only the blocking content if it is no longer needed, or move the formula to a clear area.

Do not delete data simply to remove the error.

If a blocking value is important, move the formula or its output to another range.

Formatting alone generally does not block a spill, but cell contents do.

Can merged cells cause a #SPILL! error?

Yes.

A spill range cannot expand through merged cells.

If a formula in B2 needs to return results in B2:B5 and B4:B5 are merged, unmerge those cells or place the formula where its entire result can fit.

To check, select the outlined output range and look for merged cells on the Home tab under Merge & Center.

Unmerging can change the worksheet’s appearance or leave a value in only one cell, so check the affected area first.

For headings, consider centering text across a selection instead of merging cells when formulas need room to spill nearby.

Why does a formula spill error inside an Excel Table?

Dynamic arrays do not spill within Excel Table data rows.

A formula that returns several values needs a normal worksheet range for its output.

If the formula is inside a table, move it to a blank area outside the table, or convert the table to a regular range if that fits the workbook’s design.

For example, a formula such as =SORT(UNIQUE(Table1[Category])) can produce a category list, but put it in an empty cell outside Table1 so the results have space to expand.

Structured references such as Table1[Category] remain useful as inputs even when the formula itself sits outside the table.

How do you fix a spill range that changes size?

Some formulas return a different number of results as source data changes.

A formula such as =FILTER(A2:B100,B2:B100="Open","No matches") returns matching rows from columns A and B.

Its output could expand or shrink as values in B2:B100 change.

Keep the surrounding cells clear enough for the largest expected result, not just the current one.

If the filter returns more rows than expected, check for additional matching records and confirm the source ranges.

When using separate ranges in FILTER, make sure the include range has compatible dimensions with the array being filtered.

For example, A2:B100 contains 99 rows, as does B2:B100; using a mismatched range can cause a different formula error.

What does #SPILL! mean for volatile or oversized arrays?

Excel may show a spill error when the output array cannot fit in the available worksheet cells, including when a large requested array runs into an obstruction or worksheet boundary.

A formula using RANDARRAY can return a grid whose dimensions are controlled by its arguments.

Reduce the requested row or column count, or move the formula to a worksheet area with enough space.

References to entire columns can also create unnecessarily large arrays in some formulas.

Prefer bounded ranges, such as A2:A5000, when the data size is known.

Bounded ranges can make intent clearer and may reduce recalculation work in large workbooks.

How can you diagnose #SPILL! step by step?

  1. Read Excel’s error message from the warning icon; it may identify a blocked range or another specific cause.
  2. Inspect the outlined spill area for hidden values, formulas, merged cells, or worksheet boundaries.
  3. Check whether the formula is inside an Excel Table.
  4. Review the formula’s inputs and expected output dimensions.

    Functions such as FILTER, UNIQUE, SORT, and SEQUENCE can return multiple cells.
  5. Test the formula in a separate, empty worksheet area if you need to distinguish a blocked output from a formula problem.

    This is a diagnostic example, not a claim that the formula has been executed.

If the warning identifies an obstruction, resolve that cause first.

If the formula returns an error even in a clear area, inspect its arguments and input ranges; the underlying issue may be a different Excel error rather than a spill obstruction.

Which Excel versions support dynamic array formulas?

Dynamic array behavior is available in Microsoft 365 and supported modern Excel releases, including Excel 2021 and Excel 2024.

Excel for the web also supports many dynamic array functions.

Older perpetual versions, such as Excel 2019 and Excel 2016, may not support functions like FILTER or UNIQUE and may not calculate formulas the same way.

When sharing a workbook, consider the recipient’s Excel version.

A formula that spills in Microsoft 365 may appear as an unsupported-function error or behave differently in an older edition.

If compatibility matters, use features available to all intended users or provide a values-based result for older versions.

How can you refer to a spilled result?

In supported Excel versions, the spill operator (#) refers to the full output of a formula.

If =SORT(UNIQUE(A2:A20)) is in D2, a formula such as =COUNTA(D2#) counts the spilled results without guessing how many rows they occupy.

The operator refers to the range anchored at D2 and adjusts as the output changes.

If D2 currently shows #SPILL!, a reference to D2# cannot provide the intended completed list until the original formula can spill.

Fix the obstruction or relocate the formula, then use the spill reference where it is supported.