Excel中如何在A列值相同的情况下拼接B列和C列的值
Excel按A列同值分组拼接B、C列内容的实现方案
根据你使用的Excel版本不同,可以选择以下任意一种方法实现需求:
方法1:适用Excel 365/2021及以上版本
直接使用TEXTJOIN+条件判断的数组公式即可,操作最简单:
- 假设数据范围为A2:A100(分组列)、B2:B100/C2:C100(待拼接列),在结果列第一行(如D2)输入公式:
=TEXTJOIN("、",TRUE,IF($A$2:$A$100=A2,$B$2:$B$100&$C$2:$C$100,""))
- Excel 365版本直接回车即可生效,其他支持数组的版本需按
Ctrl+Shift+Enter触发数组计算。
参数说明:第一个参数为拼接不同行内容的分隔符,可按需替换为逗号、空格等符号;如果需要B、C列内容之间也添加分隔符,将公式里的$B$2:$B$100&$C$2:$C$100修改为$B$2:$B$100&"-"&$C$2:$C$100即可,中间的-替换为你需要的分隔符。
方法2:适用无TEXTJOIN函数的低版本Excel
通过辅助列+匹配公式实现:
- 新增辅助列D,D2输入公式
=IF(A2=A1,D1&"、"&B2&C2,B2&C2),下拉填充所有数据行 - 新增辅助列E,E2输入公式
=IF(A2=A3,NA(),D2),下拉填充所有数据行 - 结果列F2输入公式
=IFERROR(VLOOKUP(A2,$A$2:$E$100,5,FALSE),""),下拉后所有同A值的行都会返回统一的拼接结果。
方法3:适用大量数据/需定期更新的场景(Power Query方案)
- 选中数据区域,点击「数据」选项卡→「来自表格/区域」,将数据导入Power Query编辑器
- 选中A列,点击「分组依据」,分组列选择A列,新列操作选择「所有行」
- 添加自定义列,公式填写
Text.Combine(Table.AddColumn([自定义],"temp",each [B]&[C])[temp],"、"),按需替换拼接分隔符 - 删除多余列后,将结果导出到Excel工作表即可。
内容的提问来源于stack exchange,提问作者Behseini
相关产品推荐
相关产品推荐

