如何在Excel/Google Sheets中按类型分组合并状态变更数据行
按案例ID+类型合并状态变更记录(Excel/Google Sheets解决方案)
Google Sheets 操作步骤
提取唯一案例ID+类型组合
在空白列(比如E列)的第一个单元格输入公式:=UNIQUE(A2:B)这会自动生成所有不重复的「案例ID-类型」配对。
合并对应状态与日期
针对每行唯一组合,用TEXTJOIN+FILTER合并相关记录:- 若要将状态和日期绑定后合并(如「状态1 2024/1/1 | 状态2 2024/1/2」),在F2输入:
=TEXTJOIN(" | ", TRUE, FILTER(C:C&" "&D:D, A:A=E2, B:B=F2)) - 若要分开合并状态和日期,分别用两个公式:
状态列:
日期列:=TEXTJOIN(", ", TRUE, FILTER(C:C, A:A=E2, B:B=F2))=TEXTJOIN(", ", TRUE, FILTER(D:D, A:A=E2, B:B=F2))
下拉公式即可批量处理所有组合。
- 若要将状态和日期绑定后合并(如「状态1 2024/1/1 | 状态2 2024/1/2」),在F2输入:
Excel 操作步骤(2019及以上版本)
提取唯一案例ID+类型组合
在空白列(比如E列)输入:=UNIQUE(A2:B)旧版Excel可通过「数据」选项卡的「高级筛选」勾选「将筛选结果复制到其他位置」,并勾选「选择不重复的记录」来提取唯一组合。
合并对应状态与日期
- 绑定状态和日期合并(如「状态1 2024/1/1 | 状态2 2024/1/2」),在F2输入数组公式(输入后按
Ctrl+Shift+Enter):=TEXTJOIN(" | ", TRUE, IF((A:A=E2)*(B:B=F2), C:C&" "&D:D, "")) - 分开合并状态和日期:
状态列:
日期列:=TEXTJOIN(", ", TRUE, IF((A:A=E2)*(B:B=F2), C:C, ""))=TEXTJOIN(", ", TRUE, IF((A:A=E2)*(B:B=F2), D:D, ""))
新版本Excel直接回车即可,旧版需按数组公式快捷键。
- 绑定状态和日期合并(如「状态1 2024/1/1 | 状态2 2024/1/2」),在F2输入数组公式(输入后按
补充说明
数据透视表无法直接实现文本合并,它主要用于数值类的聚合计算(求和、计数等),因此上述函数组合是更适配的方案。
内容的提问来源于stack exchange,提问作者Eduardo Chacon
相关产品推荐
相关产品推荐

