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

谷歌表格按列分组拼接数据为单字符串的公式方案咨询

谷歌表格按指定列分组拼接非空字段方案

适用场景

原始数据表(表1)包含A-M多列数据,需按M列分组,将每组所有行的非空字段按顺序拼接为单个字符串,存入第二张表(表2)的B列,表2A列为M列的去重取值,适配超大数据体量场景。

方案:单格输入自动溢出数组公式(无需逐行拖拽,运算效率高)

直接在表2的B2单元格输入以下公式,按回车后会自动匹配A列所有去重值,批量生成对应拼接结果:

=BYROW(A2:A, LAMBDA(group_val, 
  IF(group_val="", "",
    TEXTJOIN("|", TRUE, 
      FLATTEN(FILTER(Sheet1!A2:L, Sheet1!M2:M=group_val))
    )
  )
))

参数调整说明

  • 公式中Sheet1替换为你实际的原始数据表表名
  • TEXTJOIN第一个参数"|"为字段拼接分隔符,可按需替换为逗号、空格等其他符号
  • Sheet1!A2:L为原始数据中需要拼接的字段范围,若你需要拼接的列范围有调整可直接修改
  • 公式中TRUE参数表示自动跳过空字段,符合需求无需修改

可选优化:无需提前准备去重列的全自动化公式

如果不想提前手动提取M列的去重值放到表2A列,可直接在表2的A2单元格输入以下公式,一次性自动生成去重分组列+拼接结果列:

=LET(
  unique_groups, UNIQUE(FILTER(Sheet1!M2:M, Sheet1!M2:M<>"")),
  join_result, BYROW(unique_groups, LAMBDA(x, TEXTJOIN("|", TRUE, FLATTEN(FILTER(Sheet1!A2:L, Sheet1!M2:M=x))))),
  HSTACK(unique_groups, join_result)
)

该公式会自动跳过M列的空值,输出两列结果:第一列是M列去重值,第二列是对应拼接字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 08:57:01