动态数组公式与旧版 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 公式时,需要在整个区域中输入该公式。

    在单元格 D1 中输入的 RANDARRAY 函数,从 D1 溢出到 F5。

  • 在源区域添加或删除数据时,会自动调整大小。 如果返回区域太小,CSE 数组公式将截断返回区域;如果太大,则返回 #N/A。
  • 在 1x1 上下文中计算。 例如, RAND 函数 将返回单个结果,因此如果希望将多个随机数返回到网格,可以使用 RANDARRAY 函数ROWCOLUMN 函数将返回源单元格的行和列。 SEQUENCE (ROW () ) 可用于复制旧数组公式中 ROW 的旧行为。
  • 返回 1 个以上结果的任何新公式都将自动溢出。 无需按 Ctrl+Shift+Enter。
  • 出于兼容性原因保留 CSE 数组公式。 今后,应改用动态数组公式。
  • 当旧版 CSE 数组公式中的单元格相互依赖时,Excel 将尝试单独计算每个单元格,而不是作为一个数组进行计算。 这种行为称为“CSE 细分”,在某些情况下,以这种方式计算的公式可能会产生不一致的结果。 为了避免结果不一致的可能性,建议使用单独的公式,而不是依赖 CSE 分解。 动态数组公式不会分解。 相反,他们将报告循环引用,以便您可以解决它。
  • 可以通过更改源单元格轻松修改,而 CSE 数组公式需要同时编辑整个区域。
  • 在活动的 CSE 数组公式区域内禁止插入/删除列和行。 您需要首先删除任何阻碍工作的所有现有数组公式。

需要更多帮助吗?

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

另请参阅

FILTER 函数

RANDARRAY 函数

SEQUENCE 函数

SORT 函数

SORTBY 函数

UNIQUE 函数

#溢出! 错误

动态数组和溢出数组行为

绝对交集运算符: @