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

Google Sheets按ID分组聚合行列数据到单个单元格的公式咨询

Google Sheets 按任务ID分组聚合实现方案

默认假设数据源存放在名为数据源的工作表中,列对应关系为:A=Condition、B=Task ID、C=Hours、D=Mins、E=Customer、F=Description,你可根据实际列位置调整公式中的范围参数。

一键生成完整结果表

直接在结果表的A1单元格输入以下公式,可自动生成表头、唯一Task ID列、对应聚合内容列:

=ARRAYFORMULA(
  LET(
    // 按Condition字段过滤有效行,可自行修改过滤条件
    filtered, FILTER(数据源!B:F, 数据源!A:A="已完成"),
    // 提取去重后的任务ID列表
    task_ids, UNIQUE(INDEX(filtered,,1)),
    // 逐ID聚合对应内容
    agg_result, BYROW(task_ids, LAMBDA(id,
      LET(
        match_rows, FILTER(filtered, INDEX(filtered,,1)=id),
        time_val, INDEX(match_rows,,2)&":"&INDEX(match_rows,,3),
        item_str, time_val&" "&INDEX(match_rows,,4)&" "&INDEX(match_rows,,5),
        TEXTJOIN(CHAR(10), TRUE, item_str)
      )
    )),
    // 输出最终结果
    {"Task ID", "聚合内容"; task_ids, agg_result}
  )
)

使用注意事项

  • 过滤规则调整:替换公式中数据源!A:A="已完成"为你实际需要的Condition过滤逻辑即可
  • 列位置调整:如果数据源列顺序和默认假设不一致,修改FILTER(数据源!B:F, ...)的选取范围,以及INDEX(filtered,,x)的序号即可(序号为你选取的过滤范围内的列顺序)
  • 换行显示:选中聚合内容列,点击工具栏「文本换行」→「自动换行」,即可正常显示多条记录的换行效果

单独生成聚合列方案

如果你的结果表A列已经手动录入了Task ID,在B2单元格输入以下公式后下拉即可生成对应聚合内容:

=LET(
  match_rows, FILTER(数据源!C:F, 数据源!A:A="已完成", 数据源!B:B=A2),
  TEXTJOIN(CHAR(10), TRUE, INDEX(match_rows,,1)&":"&INDEX(match_rows,,2)&" "&INDEX(match_rows,,3)&" "&INDEX(match_rows,,4))
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:09:03