Excel 现在支持在单个单元格中放入多个值

Excel 现在能够把列表和数组作为单个单元格中的值来存储,这被视为对其传统“每个单元格一个值”模型的重大改变,实际上为电子表格增加了一个新维度。支持者欢迎这一功能,认为它能以更强大的方式建模更丰富的数据结构——类似数据库中的 JSON——并简化跨多个值进行过滤或广播计算等任务。批评者担心,这会进一步加剧本已脆弱且不透明的工作簿,违反清晰的数据建模原则,并为业务关键型电子表格中的难以排查错误创造更多机会。

功能与新颖性

  • Excel 现在允许单个单元格包含列表/数组(包括嵌套列表/数组),而不再只能存放一个标量值。
  • 一些评论者以为这早就存在;另一些人则说明,旧的“数组公式”是向范围内溢出,而不是在一个单元格内部。
  • 也有人认为,这实际上相当于给电子表格增加了第三个维度 / “z 轴”。

感知到的好处与用例

  • 有助于处理那些天生每行就包含多个值的列(例如每个用户对应一个应用列表),而以前这类数据常被迫存成别扭的逗号分隔字符串。
  • 预计会简化多值字段的解析、过滤以及索引操作。
  • 有些人认为这个实现看起来“很合理”,并修复了传统数组公式的一些痛点。

设计、语义与第一范式担忧

  • 不少人担心这会打破电子表格直观的二维思维模型,使数据推理更困难。
  • 有人将其与数据库中违反第一范式(非标量字段)以及数据库里的 JSON 列相提并论。
  • 批评者称其“类型软化”,并担心它会鼓励生成难以阅读、脆弱的“意大利面”电子表格,里面塞满嵌套列表、lambda 和递归。

可靠性、技术债与向后兼容性

  • 有人担心新功能会破坏长期以来默默支撑业务运行的 VBA 和公式流水线。
  • 与此同时,Excel 仍为了兼容性保留一些旧怪癖(例如 1900 年闰年错误),这在一些人看来颇具讽刺意味。
  • 也有人打算通过复杂的嵌套结构来对该功能以及 Python 集成进行压力测试。

比较与替代方案

  • 提到了以前具有类似想法的工具:Treesheets、Lotus Improv、Pick OS 多值字段、CAS 工具(Mathematica)、R 的列表/向量,以及 Guesstimate 和 @Risk 等概率工具。
  • 有些人认为,先进的概率数据或张量式数据应该放在专门系统里,而不是 Excel 中。

Excel 的角色与文化

  • 有人强烈为 Excel 辩护,认为它是一款极其灵活、通用的商业工具,尤其适用于 IT 阻止定制软件时的场景。
  • 也有人说,Excel 的灵活性掩盖了糟糕的流程,并支撑着本应使用更稳健系统的组织。
  • 讨论还涉及:大多数用户是否只需要“计算器级”功能,还是需要高级建模;以及这类创新是否值得增加的复杂性。