如何在Google表格中合并同一用户的多行活动报名至单行?
活动报名名单去重+合并用户活动的实用方案
一、Excel/Google Sheets 公式解法(适合中小规模数据)
假设你的数据结构是:A列存姓名,B列存活动名称。
1. 提取唯一姓名列表
在空白列(比如D列)的D2单元格输入公式,下拉就能得到所有不重复的姓名:
- Excel/Google Sheets通用:
=UNIQUE(A:A)
2. 合并同一用户的所有活动
在对应唯一姓名的E2单元格输入公式,下拉完成活动合并:
- Excel 365/2021(支持动态数组):
=TEXTJOIN(", ", TRUE, FILTER(B:B, A:A=D2)) - 旧版Excel(需按
Ctrl+Shift+Enter作为数组公式输入):=PHONETIC(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(",",TRUE,IF(A:A=D2:B,"")),",","</s><s>")&"</s></t>","//s"))
二、Power Query 解法(适合持续增长的大规模数据)
如果名单不断更新,用Power Query能实现自动刷新,步骤如下:
- 选中数据区域,点击「数据」选项卡 → 「从表格/区域」(Excel)
- 在Power Query编辑器里:
- 选中姓名列,点击「转换」→「分组依据」
- 分组依据选「姓名」,新列名设为「报名活动」,操作选「所有行」
- 点击「报名活动」列的展开按钮,选「提取值」,分隔符选逗号(或你需要的符号)
- 点击「关闭并上载」,导出处理后的数据到新工作表。后续新增数据时,右键查询表刷新即可自动更新。
三、Google Sheets 快捷解法
用QUERY函数一步到位:=QUERY(A:B, "SELECT A, TEXTJOIN(', ', TRUE, B) WHERE A IS NOT NULL GROUP BY A", 1)
以上方法都能实现一人一行、所有活动合并显示的效果,不用手动排查重复项。
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

