乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > Power Query | 你所不知道的“文本连接”-office2016官方下载

Power Query | 你所不知道的“文本连接”-office2016官方下载

作者:乔山办公网日期:

返回目录:office365

呐,等你关注都等出蜘蛛网了~

Power Query | 你所不知道的“文本连接”Power Query | 你所不知道的“文本连接”案例以及要求

先看以下案例,源数据如下:

Power Query | 你所不知道的“文本连接”

现在需要统计不同奖项的总奖金额,以及对应的获奖者(获奖者之间通过“|”符号分隔)是谁,最终呈现如下:

Power Query | 你所不知道的“文本连接”

先停下来,想一想,如果让你做,你会怎么做呢?(思考时间…)




Excel中的文本连接方法

在Excel中,文本/单元格连接有几种方法:

  1. 使用连接符“&”,比如:B1 & B2 & B3…可以连接单元格和符号。

    这种方法灵活简单,但是重复劳动,不适宜连接过多内容。

  2. 使用函数CONCATENATE,比如:=CONCATENATE(B1,B2,B3….)

    更简单快捷,单元格中的内容可以是文本/数值/符号。但是,如果有100个甚至更多单元格内容需要合并,那么显然这种方法就不适用了。因为,这个函数不支持“区域合并”,也就是说,不能这样用:=CONCATENATE(B1:B100)。

  3. 使用PHONETIC函数连接文本和符号。注意,这个函数不能链接数值。

    PHONETIC用于多文本以及符号连接非常好用,因为它支持区域选择,比如:=PHONETIC(B1:F100),整个区域中的文本以及符号都会被连接起来,但是,数值类型不能被连接。

  4. 使用VBA代码实现文本连接

    这个方法固然可以,而且没有上述方法的弊端。可是,对于大多数人来讲,很少需要用到VBA,你会单独为了一个问题去学习VBA么?


对照一下上述案例,奖金总金额可以利用透视表得出,可是不同奖项的人名要连接(带分隔符),而且对应奖项,这个问题无论用哪个Excel函数都没有一个很好的办法。我知道有些同学一咬牙,一跺脚:不就十几行数据嘛,我5分钟内纯手工做出来。千万忍住手,下次你遇到的数据如果是几百行甚至几千行呢?


Power Query中M函数的连接方法

别急,隐藏在Excel中的大杀器Power Query(下文中称PQ)该登场了。之前说过,PQ最强悍的地方在于数据获取和数据清洗。如果Excel的传统方法找不到很好的解决方法,不妨想想:PQ能不能解决?

今天我就跟大家分享一个M函数:Text.Combine。M函数是什么?M函数是PQ中的编辑语句,我们一般在使用PQ进行数据处理的时候,后台都会生成相应的M函数,对于用户也是可见而且可编辑的。

对于奖项字段,我们可以利用“分组依据”得到每一个奖项的奖金总额。可是获奖名单是文本无法进行文本合并。那通过“转置”,“合并列”等一系列的操作,是否可行?答案是:可以,但是步骤较复杂,需要对PQ比较熟练。同时,也存在局限性(当数据记录增加的时候不能返回我们预期的结果)。有兴趣练习一下的同学可以试试。

重点来了,用M函数Text.Combine可以很好地解决这个问题。操作视频如下:


先用分组依据对获奖名单进行聚合计算,我们知道一定会报错,但我们的目的是为了生成M语句,所以没有关系。接着将List.Sum函数改为Text.Combine函数,第一参数还是[姓名],第二参数是分隔符,加上“|”分隔符,大功告成。

这种方法简单又快捷而且还不复杂,最重要的是上载到Excel中的表是动态的,可以随着源数据的更新而更新(无论是增加数据记录还是修改数据)。

不知道这个小小的M函数是否成功地引起你的注意了呢?

说Power Query是一个大杀器,这种说法绝对不夸张。Excel + PQ,让你的工作如虎添翼,功力倍增。


温馨提醒:目前Office2016,Office2019,Office365版本已经自带PowerQuery,Office2013版本需要安装官方插件。暂时不支持更低版本哦。

如果你希望得到PowerQuery安装插件,请私信我“PQ”获取下载链接。

我是微软认证讲师MCT。

关注我,一起玩Office。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网