![804ca386a1d22d0bc059619c561591bc.png](https://i-blog.csdnimg.cn/blog_migrate/c1eac3783c1346662b66527413dfa28f.jpeg)
今天,我们要讲的,也是一个实际案例
需求:1、把每组人员合并多一列中,并使用换行2、如果有重名的,仅保留一个
![5a247302220c132a32c521ebe3959a08.png](https://i-blog.csdnimg.cn/blog_migrate/cbff7d12fb2698ebc5e34b840d5beb6a.jpeg)
咋一看,你可能想到了VBA来处理,函数好像处理文本有难度
但是,其实这个问题非常简单,简答几步就可搞定!
第一步:加载内容到Power Query(PQ)
![b204421f0468b073bf5bdccfd598029b.png](https://i-blog.csdnimg.cn/blog_migrate/da73a9e9719232fde9a14af3943301b0.png)
情况1:组员录入没有重名,直接合并
> 按住Shift,批量选择组员列> 选择添加列,合并列,选择任意分隔符
> 修改 分隔符为:#(lf) > 加载到EXCEL ,搞定
注:#(lf) 在PQ是表示换行符
![36f25b8f591c0b4cdfa4474edfaf956c.png](https://i-blog.csdnimg.cn/blog_migrate/16f8a7274e1af345342764d45e26c3eb.png)
情况2:组员录入有重名,辅助M函数合并
> 新增列
> 录入公式:Text.Combine(List.Distinct(List.Skip(Record.ToList(_))),"#(lf)")
M函数简述:把当前行的内容转为为list,去掉组别,去重后使用换行符合并> Record.ToList:把当前合并转成list> List.Skip:去掉list第一个,也就是组别,不需要合并>List.Distinct:对组内姓名去重,保留一个> Text.Combine:使用换行符合并组员
![c1f3ef78d48bcb2e02cd9673e5b87d21.png](https://i-blog.csdnimg.cn/blog_migrate/e7cb297406b1fe96ebc92a3d60847b1f.png)
小结
![c4e33a8d760afe2c007acfafa02a5631.png](https://i-blog.csdnimg.cn/blog_migrate/7c04b2f7d0d32f7d59a60faa98080dc8.png)
今天这个小案例就到这里,使用PQ可以代替我们传统的VBA,某些场景下效率要高很多,快去试试吧!
收藏备查!
首发 公众号:掌握这个技巧,多列合并一列如此简单!