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

Google Sheets按A列分组合并B列为逗号分隔列表:用Query还是Arrayformula?

Google Sheets 按产品分组合并属性值方案

原始数据

产品属性
Product ACyan
Product BCyan
Product CCyan
Product AMagenta
Product CMagenta
Product BYellow
Product CYellow
Product ABlack
Product BBlack

预期效果

产品属性
Product ACyan,Magenta,Black
Product BCyan,Yellow,Black
Product CCyan,Magenta,Yellow,Black

实现方式

单独用QUERY函数无法直接完成字符串合并(它的聚合函数仅支持数值类运算),单独用ArrayFormula需要配合遍历逻辑,最优方案是结合ArrayFormula与BYROW/LAMBDA,或搭配QUERY做最终格式化,以下是两种可行公式:

方案1:ArrayFormula + BYROW + LAMBDA(推荐)

假设原始数据在A1:B10(含表头),在空白单元格输入:

=ArrayFormula({
  "产品", "属性";
  UNIQUE(FILTER(A2:A, A2:A<>"")),
  BYROW(UNIQUE(FILTER(A2:A, A2:A<>"")), 
    LAMBDA(product, TEXTJOIN(",", TRUE, FILTER(B2:B, A2:A=product)))
  )
})
  • 逻辑说明:
    1. UNIQUE(FILTER(A2:A, A2:A<>"")):提取非空的唯一产品列表
    2. BYROW+LAMBDA:遍历每个唯一产品,用FILTER筛选对应属性,再通过TEXTJOIN合并为逗号分隔字符串
    3. 外层ArrayFormula实现批量计算,无需下拉填充

方案2:QUERY + ArrayFormula

如果需要用QUERY统一处理表头和过滤,可使用:

=QUERY(
  {UNIQUE(A2:A10), ARRAYFORMULA(TEXTJOIN(",", TRUE, FILTER(B2:B10, A2:A10=UNIQUE(A2:A10)))))},
  "SELECT Col1, Col2 WHERE Col1 IS NOT NULL LABEL Col1 '产品', Col2 '属性'"
)
  • 逻辑说明:
    1. 先构建包含唯一产品和对应合并属性的二维数组
    2. 用QUERY筛选非空行并设置表头

内容的提问来源于stack exchange,提问作者Aleister Tanek Javas Mraz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:50:48