动态数组和溢出数组行为

返回多个值 (也称为数组) 的 Excel 公式会将结果返回到相邻单元格。 这种行为称为“溢出”。

任何有可能返回多个结果的公式都可以称为 动态数组公式。 当前返回多个结果且成功溢出的公式可称为溢出数组公式。 

下面是一些说明,可帮助你理解和使用这些类型的公式。 

溢出的含义是什么?

溢出表示公式已生成多个值, 并且这些值已放置在相邻的单元格中。 例如,=SORT(D2:D11,1,-1), 按降序对数组进行排序,将返回 10 个行高的相应数组。 但只需在左上角的单元格中输入公式,或者在这种情况下输入 F2,它将自动向下溢出到单元格 F11。

使用 =SORT(D2:D11,1,-1) 将单元格 D2:D11 中的值排序

要点

  • 按 Enter 确认公式时,Excel 将为你动态调整输出区域的大小,并将结果放入该区域内的每个单元格。

  • 如果是编写动态数组公式以对数据列表执行操作,则将它放在 Excel 表中,然后使用结构化引用来引用数据会很有用。 这是因为在表中添加或删除行时,结构化引用会自动调整。

  • Excel 表本身不支持溢出的数组公式,因此应将它们放在表外的网格中。 表格最适合容纳独立数据的行和列。

  • 输入溢出数组公式后,在溢出区域中选择任何单元格时,Excel 将在该区域周围放置突出显示的边框。 选择区域外的单元格时,边框将消失。

    数组公式,输出区域用蓝色边框突出显示

  • 只有溢出区域中的第一个单元格可编辑。 如果在溢出区域中选择另一个单元格,公式将显示在公式栏中,但文本为“幻像”,且无法更改。 如果需要更新公式,则应选择数组区域中的左上角单元格,根据需要进行更改,然后当你按 Enter时,Excel 将自动更新剩余的溢出区域。

    幻像数组公式的图像,这意味着它不可编辑,因为它不是数组区域中的第一个单元格

  • 公式重叠 - 如果存在任何阻止输出区域的内容,则无法输入数组公式。 如果发生这种情况,Excel 将返回 #SPILL! 错误,表示存在阻塞。 如果删除了“阻塞”,公式将按预期溢出。 在下面的示例中,公式的输出区域与另一个包含数据的区域重叠,并显示为带有虚线边框的重叠单元格,其值表示不能溢出。 删除阻止的数据,或将其复制到其他位置,公式将按预期溢出。

    #SPILL! 图像 错误,表示数组公式输出遇到阻止其溢出的阻塞。

  • 由于兼容性原因,仍然支持通过 CTRL+SHIFT+ENTER (CSE) 输入的旧版数组公式,但不应再使用它们。 如果需要,可通过以下方式将旧数组公式转换为动态数组公式:查找数组区域中的第一个单元格,复制公式的文本,删除旧版数组的整个区域,然后在左上角单元格中重新输入公式。 将旧版数组公式升级到动态数组公式之前,应注意两者之间的一些计算差异

  • Excel 对工作簿之间的动态数据提供有限支持,并且仅当这两个工作簿时都处于打开状态时才支持此方案。 如果关闭源工作簿,刷新时,任何链接的动态数组公式都将返回 #REF! 错误

需要更多帮助吗?

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

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

绝对交集运算符: @

注意:  本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版

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

此信息是否有帮助?

谢谢您的反馈!

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

×