动态分组合并同类项内容
小勤:大海,上次你跟我说的分组合并同类项的方法(见文章《Excel固定类别内容分组合并同类项,PQ轻松实现》),只适用于分类情况不变的内容,但很多时候都是需要变化的啊。

大海:对的。那时因为没有讲过M语言及函数的相关内容,所以就告诉你一个通过单纯操作的方式来得到结果的方法。现在你通过《Power Query里的数值计算(聚合函数与操作)》不仅了解了PQ里的统计函数,还了解了分组操作形成的公式内容:

小勤:对的,其中List.Sum函数对按学员分组得到的各自的所有学分进行了求和。大海:嗯。那么就可以来玩动态生成了。我们一边操作一遍理解其中的方法:Step-01:获取数据

Step-02:分组

结果如下:

小勤:出错了!大海:别紧张,我们就是要这样的内容。你想啊,刚才咱们分组的时候选择的是对课程进行求和,但课程是一堆文字,比如宋晓佩的课程是初级班、中级班和高级班,求和的话肯定会出错。小勤:那怎么办?大海:显然,我们不是想求和,是想将这几个内容连在一起,所以,我们可以修改一下其中的List.Sum函数来达到目的。Step-03:修改函数,将分组操作生成公式中的【List.Sum([课程])】修改为【Text.Combine([课程],”、”)】

改完后回车,结果出来了:

小勤:啊。原来还可以这样玩。大海:对的,实际上我们通过分组得到了每个学员的课程内容,然后就可以用Text.Combine函数进行组合了。这个函数的用法如下:Text.Combine(列表,连接符)列表:即多项内容形成的一个列表连接符:用于连接列表各项内容的文本字符小栗子:Text.Combine({“你”,”好”,“Excel到PowerBI”},”-“)结果:你-好-Excel到PowerBI小勤:啊,这个函数真好啊,在Excel里面却没有这么一个函数,结果每次做文本连接麻烦屎了。大海:现在最新的Excel2016里也有一个类似的函数了,叫TEXTJOIN,用法跟Power Query里的Text.Combine函数基本一样。小勤:啊。真好。大海:嗯,通过这样的修改,我们得到的分组结果就是可以动态刷新的了,最后我们就可以将数据上载了。Step-04:数据上载

【热门文章】1个Excel文件,30+个案例表,日常函数50+个全搞定66篇Excel Power Query干货文章,助你666从入门到全面实战!神一般的数据分析案例之一:高手在民间从身份证号码提取相关信息,你还在纠结用什么公式?真的out了!Power Query和超级表结合,实现文件夹及文档管理怎么在Excel中截图?这是我常用的几种方法!