Excel中包裹ID对应索引的条件拼接方法问询
Excel中按包裹ID合并多行索引的实现技巧与逻辑
方法一:公式法(Excel 365/2021及以上版本适用)
逻辑
利用TEXTJOIN函数结合条件判断,对相同包裹ID对应的索引值进行非空拼接。
操作步骤
假设包裹ID列是A列,索引列是B列:
- 在空白列(比如C列)的第一个数据行(C2)输入公式:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$100=A2, $B$2:$B$100, ""))- 参数说明:
,是拼接时的分隔符;TRUE表示忽略空值;IF函数筛选出当前行包裹ID对应的所有索引值。
- 参数说明:
- 非365版本按
Ctrl+Shift+Enter触发数组公式;365版本直接回车即可。 - 下拉填充公式,所有相同包裹ID的索引会自动合并为指定格式。
方法二:Power Query法(兼容多数Excel版本)
逻辑
通过分组功能将同一包裹ID的行聚合,再用文本合并函数拼接索引值,适合数据量较大或需重复处理的场景。
操作步骤
- 选中数据区域,点击「数据」选项卡→「从表格/区域」(无表格则先将数据转为Excel表格),进入Power Query编辑器。
- 选中包裹ID列,点击「转换」选项卡→「分组依据」:
- 分组列:选择包裹ID列;
- 新列名:输入「合并索引」;
- 操作:选择「所有行」,点击确定。
- 选中「合并索引」列,点击「添加列」→「自定义列」,输入公式(替换「索引」为你的实际列名):
=Text.Combine([合并索引][索引], ", ") - 删除「合并索引」列,点击「关闭并上载」,即可得到合并后的结果。
核心逻辑总结
两种方法的本质都是按包裹ID分组,将同组内的索引值用指定分隔符拼接:
- 公式法适合快速临时处理,无需切换界面;
- Power Query法更高效,适合批量或重复操作,且保留原始数据不受影响。
内容的提问来源于stack exchange,提问作者Shubh
相关产品推荐
相关产品推荐

