微软正在测试一款全新的Excel版本,旨在打破该软件长期以来“一单元格一值”的传统模式。新功能允许用户在单个单元格中存储多个值,包括列表、单元格内数组以及嵌套数组。目前,Windows和Mac版Excel Beta频道的Microsoft 365 Insiders用户已可申请体验。

突破“一单元格一值”限制

列表功能是此次更新中最直观的变化。用户可通过“插入>列表”或快捷键Ctrl+J创建列表,并根据区域设置添加以逗号或分号分隔的项目。尽管这些值在视觉上分组于单个单元格内,但Excel将其视为独立项而非单纯的文本字符串。

这一改进极大优化了项目追踪、人员管理等场景。例如,一行项目数据可直接包含所有者列表,无需占用额外列或建立辅助表。用户点击单元格图标即可查看列表,双击或按F2键即可编辑。

此外,Excel支持基于列表条目进行筛选和计算。通过公式引用列表(如=B2),各项内容可自动溢出至相邻单元格。

微软方面表示:“传统上,你需要单独的列、辅助表,或将‘Carlos, Henrietta, Jacob’这样的文本打包在一个单元格中。有了列表功能,你可以将这些值保留在一个单元格中,同时仍能单独处理每一项。”

数组与嵌套能力升级

更深层的变革在于数组处理。现在,Excel可在单个单元格中存储由值输入或公式生成的数组。这些数组具备不同维度,甚至可包含其他数组。

以往,类似={1;2;3}的公式会将结果溢出到多个单元格。在新功能下,用户只需用花括号包裹公式体,即可将输出限制在单个单元格内。这使得工作表能在结构化记录中保留变长数据,无需强制适配固定列。

嵌套数组进一步扩展了这一能力。此前,返回包含其他数组的公式可能导致结果截断或报错#CALC!。微软表示,现有支持的公式现已能返回完整的嵌套结果,供后续计算使用。

以跑步日志为例,每一行可代表一次跑步并存储分段计时数组。即使不同记录的分段数不同,Excel仍能准确计算总时间、平均分段、平均速度及最快公里数。

为配合新数据结构,微软新增了四个函数:FLATTEN用于移除数组嵌套层级;HAS检查数组是否包含指定值;HASANY查找多个值中的任意一个;HASALL检查是否包含所有提供值。

兼容性与使用提醒

尽管功能强大,但这些变化可能使现有工作流复杂化。许多读取Excel文件的应用程序和库期望单元格仅包含字符串、数字、日期或布尔值。微软尚未说明新数据类型在.xlsx XML文件中的具体表示方式,这可能要求相关软件库进行更新。

目前,部分Excel功能尚不支持新的单元格类型:透视表无法将数组值作为源数据;Power Query无法加载或输出数组值列;图表不会将数组条目转换为独立数据点;数据验证不能使用列表或数组作为下拉值;查找和替换功能也无法更改列表或数组中的单个项目。

大多数涉及嵌套数组的计算需要启用新的工作簿设置——兼容性版本3。微软指出,该设置可能改变某些现有公式的结果。若引发问题,用户可将工作簿回退至兼容性版本1或2。

微软强调,“一个单元格,一个值”的电子表格古老规则已成为历史。但鉴于功能仍在测试阶段,可能会发生变化、暂停或被移除,官方建议用户在功能达到通用可用性之前,避免在重要工作簿中依赖此功能。

体验预览版需满足以下版本要求:Windows版Excel版本2610(构建20520.20000或更高),或Mac版Excel版本16.114(构建26092111或更高)。