动态数组公式与旧版 CSE 数组公式的比较

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel for iPad Excel for iPhone

2018 年 9 月,我们发布了适用于 Microsoft 365 专属 Excel 的动态数组公式。 以下部分介绍动态数组与旧版 Ctrl+Shift+Enter (CSE) 公式之间的差异。

动态数组公式:

  • 可以“溢出”到输入公式的单元格边界之外。 以下示例演示了 D1 中的 RANDARRAY 函数 ,该函数跨 D1:F5 或 5 行乘以 3 列。 仅在单元格 D1 中输入动态数组公式,其结果将溢出到相邻单元格中。 相比之下,必须在整个输出范围内输入旧版 CSE 公式,然后按 Ctrl+Shift+Enter 进行确认。

    显示在单元格 D1 中输入的 RANDARRAY 函数的屏幕截图,从 D1 溢出到 F5。

  • 在源区域中添加或删除数据时自动调整大小。 如果返回区域太小,CSE 数组公式将截断返回区域;如果返回区域太大,则返回 #N/A。

  • 在单个单元格上下文中求值公式。 例如, RAND 函数 返回单个结果,因此,如果希望将多个随机数返回到网格,请使用 RANDARRAY 函数。 省略引用参数时, ROW 和 COLUMN 函数将返回包含公式的单元格的行号和列号。 要生成顺序数组,请使用 SEQUENCE 函数并指定所需的行数或列数。

  • 返回多个结果时自动溢出。 无需按 Ctrl+Shift+Enter。

  • 出于兼容性原因,Excel 会保留 CSE 数组公式。 对于新的工作簿,请改用动态数组公式。

  • 当旧版 CSE 数组公式中的单元格相互依赖时,Excel 会尝试单独计算每个单元格,而不是作为一个数组进行计算。 这种行为称为“CSE 细分”,在某些情况下,以这种方式计算的公式可能会产生不一致的结果。 为了避免产生不一致结果的可能性,请使用单独的公式,而不是依赖 CSE 分解。 动态数组公式不会分解。 相反,他们会报告循环引用,以便您可以解决它。

  • 可以通过更改源单元格轻松修改,而 CSE 数组公式则要求您同时编辑整个区域。

  • 无法插入或删除活动 CSE 数组公式范围内的行或列。 若要进行这些更改,请首先删除数组公式。

需要更多帮助吗?

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

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

#溢出! 错误

动态数组和溢出数组行为

绝对交集运算符: @