#SPILL! and the cell that is in the way

A formula that returns several values needs empty cells to put them in. When something is already there, Excel returns #SPILL! rather than overwriting it.

Why it happens

UNIQUE, SORT, FILTER and SEQUENCE all return more than one value. They need the block below and to the right of the formula to be clear.

The blocking cell is often invisible: a space, or an empty text value left by an older formula. Select the formula cell and Excel outlines the range it wants, which shows what is sitting inside it.

A formula written inside a table also spills, because a table cannot grow that way. Moving it outside the table solves it.

Referring to a whole column inside a dynamic formula asks for a million rows of output, which will not fit below row one. Point it at a range instead.

Questions

How do I find the blocking cell?

Click the formula cell: the dashed outline shows where the result wants to go. Select that range and press Delete.

Why does it happen in a table?

Tables have their own way of growing rows and cannot accept a spilled range. Put the formula on the sheet outside the table.

Do older versions of Excel have this?

No. Before Microsoft 365 these formulas needed Ctrl+Shift+Enter and behaved differently, so #SPILL! does not appear.

Walkthroughs that get this right

Settings: separator, Excel version

Argument separator

Set by your computer's language, not by the file. A frequent cause of a correct-looking formula being rejected.

Excel version

XLOOKUP, IFS, TEXTBEFORE and TEXTJOIN need Microsoft 365 or 2021; older versions return #NAME? instead. Choosing the older one switches every walkthrough to a formula that works there.