使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

返回一组值(也称为数组)的 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! 图像 错误,表示数组公式输出遇到阻止其溢出的阻塞。

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

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

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家或在社区中获取支持。

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

#溢出! 错误

绝对交集运算符: @

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×