2018 年 9 月,我们发布了适用于 Microsoft 365 专属 Excel 的动态数组公式。 以下部分介绍动态数组与旧版 Ctrl+Shift+Enter (CSE) 公式之间的差异。
动态数组公式:
可以“溢出”到输入公式的单元格边界之外。 以下示例演示了 D1 中的 RANDARRAY 函数 ,该函数跨 D1:F5 或 5 行乘以 3 列。 仅在单元格 D1 中输入动态数组公式,其结果将溢出到相邻单元格中。 相比之下,必须在整个输出范围内输入旧版 CSE 公式,然后按 Ctrl+Shift+Enter 进行确认。
在源区域中添加或删除数据时自动调整大小。 如果返回区域太小,CSE 数组公式将截断返回区域;如果返回区域太大,则返回 #N/A。
在单个单元格上下文中求值公式。 例如, RAND 函数 返回单个结果,因此,如果希望将多个随机数返回到网格,请使用 RANDARRAY 函数。 省略引用参数时, ROW 和 COLUMN 函数将返回包含公式的单元格的行号和列号。 要生成顺序数组,请使用 SEQUENCE 函数并指定所需的行数或列数。
返回多个结果时自动溢出。 无需按 Ctrl+Shift+Enter。
出于兼容性原因,Excel 会保留 CSE 数组公式。 对于新的工作簿,请改用动态数组公式。
当旧版 CSE 数组公式中的单元格相互依赖时,Excel 会尝试单独计算每个单元格,而不是作为一个数组进行计算。 这种行为称为“CSE 细分”,在某些情况下,以这种方式计算的公式可能会产生不一致的结果。 为了避免产生不一致结果的可能性,请使用单独的公式,而不是依赖 CSE 分解。 动态数组公式不会分解。 相反,他们会报告循环引用,以便您可以解决它。
可以通过更改源单元格轻松修改,而 CSE 数组公式则要求您同时编辑整个区域。
无法插入或删除活动 CSE 数组公式范围内的行或列。 若要进行这些更改,请首先删除数组公式。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家,或在 社区中获取支持。