snw
2023-06-03 15:50:03 +08:00
简单的做法,直接用&连接就行:
=TEXTJOIN(",",1,CHAR(34)&FILTER 结果&CHAR(34))
如果你对数组有执念,你可以用 MAP+LAMBDA 来显式实现“对数组中每个元素应用同一个操作并返回仍然是一个数组”的操作,虽然在这个例子中没必要:
=TEXTJOIN(",",1,MAP(FILTER 结果,LAMBDA(x,CHAR(34)&x&CHAR(34))))
然后解释一下 CONCATENATE 和 CONCAT 的区别:
* CONCATENATE 起初的设计是每个参数只接受单个值,虽然后来可以接受区域引用,但这只是配合 CSE (ctrl+shift+enter)数组的操作,行为是对引用区域中每个(组)值遍历执行 CONCATENATE 操作; Excel 引入动态数组之后 CONCATENATE 继续沿用 CSE 数组的行为。
* CONCAT 起初的设计就接受动态数组,如果参数接受了动态数组,则先把动态数组展开为一系列单个值,最后再把所有参数展开的所有值串起来。