如何更正 #SPILL! 错误

#SPILL返回多个结果且 Excel 无法将结果返回到网格时,将返回错误。 有关这些错误类型的更多详细信息,请参阅以下帮助主题:

当溢出数组公式的溢出范围不为空时,会发生此错误。

Excel 中的 #SPILL! 错误-溢出区域不为空白

选择公式后,虚线边框将指示预期的溢出范围。

可以选择"错误浮点",然后选择"选择遮挡单元格"选项,立即转到 () 。 然后,可以通过删除或移动遮挡单元格的条目来清除错误。 一旦清除障碍物,数组公式将如预期溢出。

Excel 无法确定溢出数组的大小,因为它易变,并且在计算过程之间会调整大小。 例如,以下公式将触发此 #SPILL! 错误:

=SEQUENCE(RANDBETWEEN(1,1000))

动态数组的大小调整可能会触发其他计算过程,以确保电子表格已完全计算出来。 如果数组的大小在这些其他计算过程中继续变化且不稳定,则 Excel 会将动态数组解析为 #SPILL!。

此错误值通常与 RANDRANDARRAYRANDBETWEEN 函数的使用相关联。 其他易变函数(例如 OFFSETINDIRECTTODAY)在每个计算过程中不会返回不同的值。 

例如,在单元格 E2 中(如以下示例所示)中时,公式 =VLOOKUP (A:A,A:C,2,FALSE) 以前只会在单元格 A2 中查找 ID。 但是,在动态数组 Excel 中,公式将导致#SPILL! 错误,因为 Excel 将查找整列,返回 1,048,576 个结果,并命中 Excel 网格的末尾。

Excel 中的 #SPILL! 在单元格 E2 中由 = VLOOKUP (A:A、A:D、2、FALSE) 导致的错误,因为结果将溢出工作表的边缘。 将公式移动到单元格 E1,它将正常工作。

有 3 种简单方法来解决此问题:

#

方法

公式

1

仅引用你感兴趣的查找值。 此样式的公式将返回 动态数组但对 Excel 表格不起作用。 

使用 = VLOOKUP (A2: A7、A:C、2、FALSE) 返回不会产生 #SPILL 的动态数组! 错误。

=VLOOKUP (A2:A7,A:C,2,FALSE)

2

仅引用同一行上的值,然后向下复制公式。 这种传统的公式样式适用于表格,但不返回动态数组

将传统 VLOOKUP 与单个 lookup_value 引用: = VLOOKUP (A2、A:C、32、FALSE) 。 此公式不会返回动态数组,但可以与 Excel 表一起使用。

=VLOOKUP (A2,A:C,2,FALSE)

3

请求 Excel 使用 @ 运算符执行隐式交集,然后向下复制公式。 此样式的公式适用于表格但不返回动态数组

使用 @ 运算符,然后向下复制: = VLOOKUP ( @A: A、A:C、2、FALSE) 。 此引用样式将在表中使用,但不会返回动态数组。

=VLOOKUP (@A:A,A:C,2,FALSE)

Excel 表格不支持溢出数组 公式。 尝试将公式移出表格,或将表格转换为区域 (单击"表格设计"> 工具 > 转换为区域) 。

Excel 中的 #SPILL! 错误-表公式

您尝试输入的溢出数组公式导致 Excel 内存不足。 请尝试引用较小的数组或范围。

溢出的数组公式无法溢出到合并单元格中。 请 取消合并问题 单元格,或将公式移动到不与合并单元格相交的另一区域。

Excel 中的 #SPILL! 错误-溢出到合并单元格

选择公式后,虚线边框将指示预期的溢出范围。

可以选择"错误浮点",然后选择"选择遮挡单元格"选项,立即转到 () 。 清除合并单元格后,数组公式将如预期溢出。

Excel 无法识别或无法协调此错误的原因。 请确保公式包含方案的所有必需参数。

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

动态数组和溢出数组行为

绝对交集运算符: @

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×