我们于 2018 年 9 月发布了适用于 Microsoft 365 专属 Excel 的动态数组公式。 下面讨论了动态数组与旧版 Ctrl+Shift+Enter (CSE) 之间的差异。
动态数组公式:
-
可以在输入公式的单元格边界之外"溢出"。 以下示例演示 D1 中的 RANDARRAY 函数,该函数溢出 D1:F5 或 5 行 3 列。 动态数组公式从技术上只存在于单元格 D1 中,而对于旧版 CSE 公式,需要在整个范围内输入该公式。
-
在源范围中添加或删除数据时,会自动调整大小。 CSE 数组公式将截断返回区域(如果太小)或返回#N/A's(如果太大)。
-
在 1x1 上下文中计算。 例如 ,RAND 函数 将返回单个结果,因此,如果要将多个随机数返回到网格,可以使用 RANDARRAY 函数。 ROW和COLUMN函数将返回源单元格的行和列。 SEQUENCE (ROW () ) 可用于复制旧数组公式中 ROW 的旧行为。
-
返回超过 1 个结果的任何新公式都将自动溢出。 无需按 Ctrl+Shift+Enter。
-
出于兼容性原因,将保留 CSE 数组公式。 今后,应改为使用动态数组公式。
-
如果旧版 CSE 数组公式中的单元格彼此依赖,Excel 将尝试单独计算每个单元格,而不是作为数组计算。 此行为称为"CSE 分解",在某些情况下,按这种方式计算的公式可能会产生不一致的结果。 为了避免结果不一致的可能性,我们建议使用单独的公式,而不是依赖于 CSE 分解。 动态数组公式不会分解。 相反,他们将报告循环引用,以便你可以处理它。
-
可以通过更改源单元格轻松修改,而 CSE 数组公式则要求同时编辑整个区域。
-
活动 CSE 数组公式区域禁止列和行插入/删除。 首先需要删除任何现有数组公式。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。