咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

之前在我的课程中给大家讲过如何利用正则表达式或VB来提取Excel单元格中的中英文,如果字段长度比较规律的话,分列也是一个首选的好方法。

今天给大家分享的方法是如何用Power Query来快速分离和提取,规则设置好之后,后续只要刷新数据,就可以一劳永逸了。

案例如下:

一共有4组数据,感觉有规律,又感觉毫无规律。很显示,这4组数据用分列肯定不好使,数据太凌乱了。

首先将这四组数据分别导入到Power Query之中,我们挨个按列看看如何分离吧。

先看表2,这张表算是案例中最有规律的一组数据了,只有中英文,而且中文在前,英文在后。要做的就是分别提取中文和英文。

操作步骤:

点击添加列中的自定义列,弹出对话框中输入列名称,公式栏中输入:

Text.Remove([规律1],{"A".."z"})

如图所示:

完成之后点击确定,结果如下:

再来提取英文,同样需要新增一列,跟上述步骤一样,弹出的自定义列中输入新列名,公式中输入:

Text.Remove([规律1],{"一".."龟"})

确定后结果如下:

是不是特别畅快?!

而且这种分离方法,不管你的中文在前还是在后,都对结果不产生任何影响,始终得到的就是现在看到的中英文。


接下来看表3,也稍微有点规律,单元格中只有中文、英文和数字,只是排列顺序没有规律,是个乱的:

这种就不能按照上面的方法进行了,因为上面那种方法去除中文会留下英文和数字,去除英文留下的就是中文和数字了。

操作步骤:

同样点击添加列中的自定义列,弹出对话框中输入新列名,公式处输入:

Text.Remove([规律2],{" ".."~"})

注意第一个引号中要输入一个空格。完成之后确定,结果如下:

接下来同样添加列的方法输入公式来分别提取英文和数字。

提取英文,公式为:

Text.Remove([规律2],{"一 ".."龟","0".."9"})

提取数字,公式为:

Text.Remove([规律2],{"A".."z","一".."龟"})

最终结果:


最后来看表1和表4吧,都有点乱,还有乱入的符号,同样分三列分别提取中文,英文和数字。

提取中文:

提取英文:

提取数字:

最终结果:

貌似Text.Select比Text.Remove来得更快。

最后一张表4就留给大家自行练习吧。

结果如下:(注意提取的英文之间保留了空格,且没有特殊符号)

如果你对Power Query的课程感兴趣,可以点击专栏进入课程链接。