#SPILL! From a Referenced Merged Cell.

Brass Contributor

Hi everyone, I have a spreadsheet that I'm trying to build for my work flow to enable track my daily sales activities and simultaneously compute my percentage earnings per customer. For me to achieve this I need to merge certain number of rows and work with two separate worksheets, thus I can reference dates, customer names for the input sales sheet to the salary sheet but immediately I referenced it, there was a #SPILL!

  Please how do I eliminate this error because for my 2019 worksheet, this did not appear.

16 Replies


That means you are on dynamic array version of Excel and your formula returns an array for which not enough space. 2019 returns only first element of such array. Better to rework the formula, but you may try to put in front of it @ sign. For example, if your formula 


convert it to



Thank you so much, the @before the formula worked. Now I'm ready to work on. 



@ituryu , you are welcome

@SergeiBaklan I am trying to populate an empty merged cell with a merged text cell from one sheet to another. It is now displaying #Value! instead of the name I am trying to reference. For reference, the formula I am using is =@'Client Info Sheet'!B6:D6. 


Did you try ='Client Info Sheet'!B6 ?

@SergeiBaklan THANK YOU. Yes, that worked perfectly. Now I have another question that maybe you can help me with. I have a cell on my spreadsheet that should show someone’s age (it should show either current age or age at death, whichever applies). I am trying to find a formula that would calculate these scenarios. I believe it should be an if/then type statement, because whatever the answer, it should populate this one cell. My spreadsheet currently has one cell with the today’s date (DATE), one for the date of birth (DOB) and a cell which would only be populated if the person is deceased (DOD). So, theoretically the age would be found using combinations of those three cells. 


That could be


and apply desired number format to the result.

@SergeiBaklan Thank you. I'm sorry for the incessant questions, but here's another: I formatted the cells for date, but I still have to type them in with slashes (ex. 10/15/2020), and I don't understand why. I am wondering if there is a custom one that will work like the phone number one. For phone numbers, I just have to type in 10 numbers and it automatically puts them in the correct form of (123) 456-7890. 


Sure, Excel will format dates for you just like it formats phone numbers.  The number format


will do it.  The catch is that you need to enter


(the number of days elapsed since the start of the 1900s)

@Peter Bartholomew yes, that is exactly what's going on here. I don't know why Microsoft did it this way. The average consumer does not think in terms of "days since 1900." I'll just continue to type the dates in long form. Thanks!


Datetime is continuous and sequential. In all cultures it starts from one day which people agree to consider as beginning of their history, after that only representation of the dates counted from that very beginning. Same in software programs, the only difference that's the start date which is chosen. Excel for Windows takes Jan 01, 1900. 


Phone numbers are random and have no links with each other, you may take them as it is and apply any format you wish.


You may imitate date format for numbers like


but it'll be the number as in formula bar which can't be calculated as a date and can't be validated as a date.


Ah, that would be because Excel's dates are designed to support calculation. 


Your 'long form' comprises the number of times the moon has circuited the Earth, with part periods represented by the number of times the Earth has rotated on its axis and finishing with the number of times the Earth has circuited the Sun since some event deemed to be of importance.  BTW, why do you place the smallest interval in the middle?


You see the problem?

Hi Sergei Baklan, I'm having a problem too in understanding the spill function.
When i entered a date in a cell, but i merged with with other two cell due to the small column I created. But when i want to link that date into other cell, it appears as it is in one cell, but it appears "0" in the next two cell next to it, and I cant delete that 0. Can u help?
It depends on the nature of the link.
=A1:C1 will give the date followed by 0s to fill the array to 3 values
=A1 will just give the date
The manual process of selecting cells is somewhat messy in the presence of merged cells and the normal advice is to avoid their use where possible.
I am working on a project schedule where I need to use merged cells to display dates in an array. I am using dynamic array formular but whenever I enter the formula in the first merged cells which is supposed to spill into the next merged cells I get the #SPILL error! Any help for me:
The formula is as follows and I want it to spill into the other cells for the schedule computation and to make the dates dynamic for Plan vs Base. I am using Office 2016:
=IF(display="PlanvsBase",IF(timeline.base.start>0,MIN(timeline.base.start,timeline.plan.start),timeline.plan.start),timeline.plan.start). The formula is based on defined names


I am happy with your use of defined names but there is nothing to suggest that any one of them represents an array.  If they are indeed scalars, your formula could reduce to

= IF(
      AND(display="PlanvsBase", timeline.base.start>0),
      MIN(timeline.base.start,timeline.plan.start) + {0,1,2},
      timeline.plan.start + {0,1,2}

where I have added the + {1,2,3} simply to generate an array of consecutive days.

That said, I have some problems understanding the scenario you outline. 

You mention Office 2016.  That version of Excel does not support dynamic arrays at all.

The next problem is that any attempt to use a spilt range within a merged cell will generate a #SPILL! error.  The error disappears if one unmerges to cell.  These last behaviours are a characteristic of Excel 365 (and Excel 2021) but not earlier versions.


BTW. It is probably better to start new discussions for supplementary questions rather than tagging on to a pre-existing discussion.