Excel无溢出范围内容却出现#SPILL!错误的原因咨询
Excel中TOCOL/UNIQUE+VSTACK公式偶发#SPILL!错误的原因分析
这个#SPILL!错误不是合理情况,属于Excel计算引擎的bug,具体触发逻辑如下:
- E1:G6的公式会随机生成数值或#N/A(数值>90时返回NA),
TOCOL(E1:G6,3)会忽略#N/A值后溢出,UNIQUE(VSTACK(E1:E6,F1:F6,G1:G6))也会基于非NA值生成动态溢出结果。但Excel重算时存在计算顺序漏洞:可能先执行A1/B1的溢出公式计算,再更新E1:G6的新随机值,导致公式预期的溢出范围大小和实际可用单元格空间不匹配,进而抛出#SPILL!错误。 - 复制粘贴为值后正常的原因:此时E1:G6是静态数值,不再随重算变化,A1/B1的溢出范围固定,不会出现动态大小冲突。
- 调整随机阈值后错误频率升高:比如把阈值调低(如>80就返回NA),会让E1:G6的非NA值数量波动更剧烈,溢出范围的大小变化更频繁,触发计算顺序bug的概率也就更高。
内容的提问来源于stack exchange,提问作者Andy Robertson
相关产品推荐
相关产品推荐

