翩若惊鸿,婉若游龙
之前的文章中已经介绍过TextRemove和Text.Select两个非常实用的M函数
M函数中还有一系列的文本处理函数,掌握了以上两个函数的用法,其他文本类函数就都能快速上手了。
大部分文本处理函数都有对应的Excel函数,所以掌握这些函数并不是什么难事。
常用的Text类函数及其用法解释
上面的函数看看用途说明,对比一下Excel函数,再套一个文本列,测试一下函数参数基本都就能能快速掌握。我们再通过两个实战案例讲解更多文本类函数的用法。
一、统计字符串出现次数
延用之前的产品名称列。假设我们这次的需求是统计产品名称中某个字符出现的次数,比如,字母"i"在每一行中出现了多少次?
我们的解题思路是:先从文本中把字母"i"选出来 —Text.Select,然后计算字符数(字符长度)就可以了 — Text.Length。
在PowerQuery编辑器中添加自定义列:
如果害怕计算结果被大小写影响的话,可以在自定义列中加上大写的"I"。
反过来也可以在取出英文字母后,使用 Text.Lower 或者Text.Upper 统一大小写,减少干扰。
二、按指定位数补齐零
有时我们需要将列中的数据补齐到指定位数。比如,将下列数据调整为6位数代码,不足6位数的,需要在前面用0补齐。
你可能会想到功能区中的格式里有个添加前缀功能,但是这个功能只能添加固定的文本,无法满足以上需求。
其实PowerQuery中有专门用来完成此类计算的函数 Text.PadStart,用它可以实现在字符串前补齐位数。
添加自定义列:Text.PadStart( Text.From([编码]),6,"0")
我们也可以组合其他文本类函数实现同样的效果。
解题思路是:直接在数字列左边增加6个"0"—Text.Combine,然后从右边开始取6位字符 —Text.End
添加自定义列:
后面这个解法只是出于教学目的,让大家掌握更多的M函数,实际工作中使用第一个解法即可。
领取专属 10元无门槛券
私享最新 技术干货