You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中按条件返回唯一值并将行用逗号拼接?

数组参数尺寸不匹配错误解决方法

错误原因

你使用的公式=ARRAYFORMULA(TEXTJOIN(", ";FALSE;IF(A22:A32=A2:A10;K22:K32;"")))报错Array arguments to EQ are of different size(意为EQ函数的数组参数尺寸不一致),核心问题是:

  • 参与比较的两个区域行数不匹配:A22:A32有11行,A2:A10只有9行
  • Google Sheets的数组运算要求参与比较的数组尺寸完全一致,因此触发错误

修正后的公式

根据需求(将A2:A10中每个值对应的A22:A32匹配项的K22:K32内容用逗号拼接),推荐使用BYROW结合FILTER实现,逻辑更清晰:

=BYROW(A2:A10, LAMBDA(x, TEXTJOIN(", ", FALSE, FILTER(K22:K32, A22:A32=x))))
  • BYROW(A2:A10, LAMBDA(x,...)):遍历A2:A10中的每一个值x
  • FILTER(K22:K32, A22:A32=x):筛选出A22:A32中等于x的行对应的K列内容
  • TEXTJOIN(", ", FALSE, ...):将筛选结果用逗号拼接,FALSE表示保留空值(若不需要空值可改为TRUE)

替代方案(基于ARRAYFORMULA)

如果习惯使用ARRAYFORMULA,可以通过转置区域让数组尺寸匹配:

=ARRAYFORMULA(IF(A2:A10="",,TEXTJOIN(", ", FALSE, IF(A22:A32=TRANSPOSE(A2:A10), K22:K32, ""))))

通过TRANSPOSE(A2:A10)将9行的列转置为9列,与A22:A32的11行形成11×9的数组,完成匹配后按列拼接结果。

内容的提问来源于stack exchange,提问作者onit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:34:56