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

Google Sheets:基于ID、日期和序列合并指定列,求单公式方案

单公式实现Google Sheets按ID、日期合并指定列内容

需求说明

基于表格中的ID、日期和序列列,合并对应备注内容,替代原三步操作(排序→按ID+日期合并当日备注→按ID合并所有日期备注),实现无辅助列的单公式输出。

单个数组公式

=BYROW(UNIQUE('Raw Data'!B2:B), LAMBDA(id, {
  id,
  TEXTJOIN(" ", TRUE, BYROW(UNIQUE(FILTER('Raw Data'!C2:C, 'Raw Data'!B2:B=id)), LAMBDA(date,
    TEXT(date, "MM-DD-YYYY")&": ("&TEXTJOIN(" ", TRUE, SORT(FILTER('Raw Data'!E2:E, 'Raw Data'!B2:B=id, 'Raw Data'!C2:C=date), FILTER('Raw Data'!D2:D, 'Raw Data'!B2:B=id, 'Raw Data'!C2:C=date), TRUE))&")"
  ))
}))

公式逻辑拆解

  • 外层BYROW(UNIQUE('Raw Data'!B2:B), ...):遍历所有唯一ID,逐个处理
  • 内层BYROW(UNIQUE(FILTER(...)), ...):对当前ID,遍历其对应的所有唯一日期
  • SORT(FILTER(...), ..., TRUE):按序列列升序筛选并排序当前ID+日期对应的备注,保证顺序正确
  • TEXTJOIN:分别合并当日备注、合并当前ID下所有日期的备注内容
  • TEXT(date, "MM-DD-YYYY"):将日期格式化为指定样式后与备注拼接

替代方案(使用GROUPBY函数)

若你的Google Sheets支持GROUPBY函数,可使用更简洁的写法:

=GROUPBY('Raw Data'!B2:B, 'Raw Data'!C2:C, LAMBDA(dates, TEXTJOIN(" ", TRUE, GROUPBY(dates, 'Raw Data'!E2:E, LAMBDA(notes, TEXT(INDEX(dates,1),"MM-DD-YYYY")&": ("&TEXTJOIN(" ", TRUE, SORT(notes, FILTER('Raw Data'!D2:D, 'Raw Data'!B2:B=INDEX('Raw Data'!B2:B,ROW(dates)), 'Raw Data'!C2:C=INDEX(dates,1)), TRUE))&")"), 0)), 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:15:34