实际工作中,经常需要将符合条件的结果全部放到一个单元格内。就像下面的例子中,要求编号相同的位号列合并到一个单元格并用逗号隔开:
这个问题想必大家都遇到过吧。
在Excel中并没有提供一个可以合并同类项的函数,今天给大家说的是一种变通实现的方法:
在D列建立一个辅助列,D2单元格输入公式:
=B2&IFERROR(","&VLOOKUP(A2,A3:D$550,4,),"")
注意VLOOKUP函数第二参数A3:D$550引用的是自公式所在单元格往下一行开始,引用的行数要比数据表最大行数多一些。
向下复制公式。
销售编号 |
合同号 |
份数 |
辅助列 |
1001 |
HT001 |
1 |
HT001,HT004,HT005,HT006 |
1001 |
HT004 |
1 |
HT004,HT005,HT006 |
1001 |
HT005 |
1 |
HT005,HT006 |
1001 |
HT006 |
1 |
HT006 |
1002 |
HT002 |
1 |
HT002,HT007,HT010,HT013,HT014,HT015,HT016 |
1002 |
HT007 |
1 |
HT007,HT010,HT013,HT014,HT015,HT016 |
1002 |
HT010 |
1 |
HT010,HT013,HT014,HT015,HT016 |
1002 |
HT013 |
1 |
HT013,HT014,HT015,HT016 |
1002 |
HT014 |
1 |
HT014,HT015,HT016 |
1002 |
HT015 |
1 |
HT015,HT016 |
1002 |
HT016 |
1 |
HT016 |
1003 |
HT003 |
1 |
HT003,HT008,HT009,HT011,HT012 |
1003 |
HT008 |
1 |
HT008,HT009,HT011,HT012 |
1003 |
HT009 |
1 |
HT009,HT011,HT012 |
1003 |
HT011 |
1 |
HT011,HT012 |
1003 |
HT012 |
1 |
HT012 |
隐藏D列辅助列。
复制A列编号至任意空白列(本例是G列),删除重复项。
在H2单元格输入公式:
=VLOOKUP(G2,A:D,4,)
向下复制,完成同类项的汇总。
然后就可以得到最终效果啦
销售编号 |
合同号 |
1001 |
HT001,HT004,HT005,HT006 |
1002 |
HT002,HT007,HT010,HT013,HT014,HT015,HT016 |
1003 |
HT003,HT008,HT009,HT011,HT012 |
专注数字化方案建设,推动智慧企业生态圈的升级发展