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

Google Sheets将分组与项目列合并为特定格式单列的技术需求

Google Sheets 分组项目格式化输出解决方案

需求说明

将原始工作表中GROUP(分组)和ITEM(项目)列的数据,转换为单列格式:每个分组名单独一行,随后列出该分组下所有项目(每行一个项目),分组之间用空行分隔,且公式支持自动适配新增的分组或项目。

解决方案公式

假设原始数据位于Sheet1的A列(GROUP)和B列(ITEM),在新工作表的目标单元格(如A1)中输入以下公式:

=ARRAYFORMULA(FLATTEN(LAMBDA(groups, MAP(groups, LAMBDA(g, {g; FILTER(Sheet1!B2:B, Sheet1!A2:A=g); ""})))(UNIQUE(FILTER(Sheet1!A2:A, Sheet1!A2:A<>"")))))

公式拆解

  • UNIQUE(FILTER(Sheet1!A2:A, Sheet1!A2:A<>"")):提取所有非空的唯一分组名称,自动识别新增的分组
  • MAP(groups, LAMBDA(g, {g; FILTER(Sheet1!B2:B, Sheet1!A2:A=g); ""})):对每个分组执行以下操作:
    1. 输出分组名称单独一行
    2. 输出该分组下的所有项目(每行一个)
    3. 添加一个空行作为分组间的分隔
  • FLATTEN:将嵌套的多维数组展开为单列
  • ARRAYFORMULA:确保公式自动扩展,无需手动下拉,适配新增的项目或分组

原公式问题说明

你之前使用的=ARRAYFORMULA(IF(A2:A<>"", A2:A&" | "&TEXTJOIN(", ",TRUE,FILTER(B2:B, A2:A=A2:A)), ""))不符合需求的原因:

  • 会重复显示每个项目对应的分组名,而非仅在组首显示一次
  • 将同组项目合并为一行,而非每行一个项目
  • 没有添加分组间的空行分隔

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:13:14