如何在Excel中将列内重复值对应内容合并至同一行
在Excel中合并重复Account对应的Product到同一行
方法一:Power Query(推荐,无需复杂公式)
这是Excel自带的可视化工具,操作简单易上手:
- 选中包含表头的所有数据区域,点击顶部菜单栏「数据」→「从表格/区域」,勾选「我的表格有标题」后确定。
- 在Power Query编辑器里,选中Account列,点击「转换」→「分组依据」。
- 分组设置:
- 「分组依据」选择Account
- 「新列名」填
Products - 「操作」选择「所有行」,点击确定。
- 点击Products列右侧的展开箭头(双向箭头),只勾选「Product」列,打开「高级选项」选择「将值拆分为列」,确认后完成拆分。
- 右键拆分后的列名(比如Product.1、Product.2),重命名为你需要的表头(如Product、Product2)。
- 点击「主页」→「关闭并上载」,选择将数据导出到新工作表,即可得到目标格式。
方法二:公式实现(适合想了解公式逻辑的用户)
步骤1:提取不重复的Account
在空白区域的B2单元格输入公式(替换原表!B2:B100为你实际的数据范围):
=UNIQUE(原表!B2:B100)
回车后会自动列出所有不重复的Account值。
步骤2:提取对应Account的Product
- 如果想把Product合并到一个单元格(用逗号分隔),在C2输入:
=TEXTJOIN(", ",TRUE,FILTER(原表!C:C,原表!B:B=B2))
- 如果想拆分成单独的列,在C2输入数组公式(Excel 365/2021直接回车,旧版按
Ctrl+Shift+Enter):
=INDEX(原表!C:C,SMALL(IF(原表!B:B=$B2,ROW(原表!B:B)-1,""),COLUMN(A:A)))
输入后向右、向下拖动填充公式,空白单元格表示该Account没有更多Product。
注意事项
- 旧版Excel(无UNIQUE/FILTER函数)建议优先用Power Query,公式会更复杂。
- 操作前务必备份原数据,避免误修改。
内容的提问来源于stack exchange,提问作者Prashanth
相关产品推荐
相关产品推荐

