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 技术社区中咨询专家或在 Answers 社区获取

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

Excel 中的 #SPILL! 错误

绝对交集运算符: @

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×