点击
蓝字
发送【工具】
免费领 3 大 Excel 高效工具!
本文作者:农夫
本文审核:小爽
本文编辑:竺兰
PS:文末留言,可免费获取配套练习文件,动动手学得更快!
大家好,我是农夫,专治疑难杂「数」的农夫~
在日常工作中,我们经常要将数据进行分隔处理,以提取出所需要的信息。
比如,我们需要提取电话区号和号码;提取姓名、电话和地址;提取学号、姓名和分数等。
当列中存在同样的分隔符,或宽度一致时,我们都能一下子搞定:
但是,现实中远没有想像中那样完美,实际遇到的大多是下面这种,有多个分隔符的数据:
面对这种数据,很多小伙伴就不会了,对不对?
难道就没有什么简单的办法进行处理吗?
当然不是!今天就来教大家两种方法,轻松解决这一难题~
先来看第一种方法:
用 WPS 自带的【高级分列】功能。
WPS 中的多字符分列
WPS 作为国产办公软件,很多功能还是很友好的。
针对多字符分隔操作也非常简单,唯一美中不足的是,最多只能支持 6 个字符的分隔。
但是 6 个分隔字符,完全能应对我们遇到的大部分数据!
特别说明:这一功能需要高版本 WPS,如 WPS2019 个人版,而 2019 以下版本是没有这一功能的~
好了,来看下具体操作:
❶ 首先,选择要分隔的「基础信息」这列数据,点击【智能工具箱】选项卡——【高级分列】。
❷ 进入高级分列页面后,选择第二个
(遇到……就分割)
,填入用于分隔的字符,点击【确定】。
对于列名,可提前写好,也可以分隔完后再添加~
以上操作是不是非常简单?动图再展示一下:
以上就是 WPS 的操作方法,那有小伙伴会问,Office 有没有处理多字符的办法呢?
可以肯定的回答,必须有。
虽然 Excel 没有 WPS 自带的多字符分列的选项,但用 PQ 法,也很简单!
而且它不仅没有字符数量限制,还可以做到实时更新。
下面我们就具体来看下~
❷ 在 PowerQuery 页面中,点击【添加列】选项卡——「自定义列」。
❸ 在「自定义列」页面输入新建列的名称和相应的公式。
❹ 点击【确定】,所分隔的字符会存储在每行的列表(List)中,如下图:
然而,这还没有结束,因为结果并非我们想要的数据形式。
如果对公式不做更改,后续操作会更繁琐。所以:
❺ 需将分隔符统一,再去分隔。
如下图所示:
如果想处理数据更省事,则需对公式进一步修改。
❻ 回到「自定义列」页面,将公式改写为如下形式:
❼ 点击【确定】,就形成了下图的形式。
❽ 继续左击新生成的列——勾选「所有列」——【确定】。
连列名称都一并修改好了,惊不惊喜?意不意外?
动图演示一下~
那么,如果要直接提取部门数据,该如何做呢?其实更简单~
返回刚才的公式,在公式后面添加一对花括号{}(
即向 PQ 发出单独提取某个位置数据的指令)
;
添入所要提取数据的数字位置(下标),本例为 1,即可提取相应位置的数据。
点击【确定】,部门列就直接提出来了,在【主页】选项卡下选择【关闭并上载】即可~
看过操作,再来讲一下涉及的函数~
在 PowerQuery 中使用 M 函数进行多字符分列,用到了
Text.SplitAny
函数和
Record.FromList
函数。
先来看 Text.SplitAny 函数。
=Text.SplitAny(要分隔的列,分隔列中的分隔符){提取的数据所在位置}
该函数分隔完后会形成一个文本列表(List)。
这里要注意,列表中的字符位置是从 0 开始,如果想提取分隔后列表中的第 2 个字符(CEO),则需要输入该字符所在的数字位置(下标)1。
再来看 Record.FromList 函数。
=Record.FromList(文本列表,{"列名 1","列名 2","列名 3",......})
该函数分隔完后会形成一个 Record 类,即多个不同类型数据的合集。
简单点理解,Record 就是将分隔后列的数据,变成了表头各数据各一列的小表格(Table)。
这里要注意的是,函数后面的花括号{}中,列名的数量与列表中字符个数一致。
总结一下
两者对比,可以看出:
WPS 操作方便,但会有分隔字符数量的限制;
PQ 中操作虽然看起来有些复杂,但灵活度更高,也没字符数量限制,关键还能实时刷新~
最后,再来回顾下相关要点:
WPS 中的多字符分列:
前几天,小兰问了各位同学一个问题:你觉得 Excel 水平一直没提升,是什么原因? 有不少同学留言说是缺乏系统的学习,要我说,那不如趁着国庆假期,和秋叶一起学 Office,完整系统的学习,提升自己。 小兰推荐大家学习 《和秋叶一起学三件套》! 这套书包含《和秋叶一起学 Word》、《和秋叶一起学 PPT》、《和秋叶一起学 Excel》三册,系统性地带你学习办公必备的 Office 知识~
通过这本书,你可以:
学习用 Word 快速搞定工作日志排版;
学习用 Excel 几分钟搞定三小时工作量的数据报表;
或者学习做一份人见人夸 PPT~
这套书原价 287 元,现在京东五折活动进行中,三本仅售 143.5 元!
还等啥,赶紧扫码购买吧











PQ 中的多字符分列
先来看一下具体操作: ❶ 选中区域内需要分列的数据——点击【数据】选项卡——【从表格】——进入 PowerQuery 页面。 PS:有些版本不叫【从表格】,而是叫【自表格区域】。


=Text.SplitAny([基础信息],"()《》<>")
▲ 左右滑动查看



=Record.FromList(Text.SplitAny([基础信息],"()《》<>"),{"姓名","部门","国别"})
▲
左右滑动查看





=Text.SplitAny([基础信息],"()《》<>"){1}
▲ 左右滑动查看





❶ 选中数据 ❷ 智能工具箱 ❸ 高级分列 ❹ 遇到□□□□□□就分割PQ 中的多字符分列:
❶ Text.SplitAny 函数和 Record.FromList 函数 ❷ 列表中的字符位置(从 0 开始) ❸ 按字符分隔/左击勾选所有列 ❹ 关闭并上载最后,问下小伙伴们, 好了,今天的教程就到这里了,喜欢的小伙伴记得 点赞和分享 哦~ 有任何问题,可以在下方留言。如果有需要,我会制作专门案例进行讲解哦~ (想要获取练习文件的同学,也别忘了在文章下方留言哦~) 我是农夫,专治疑难杂「数」的农夫~
前几天,小兰问了各位同学一个问题:你觉得 Excel 水平一直没提升,是什么原因? 有不少同学留言说是缺乏系统的学习,要我说,那不如趁着国庆假期,和秋叶一起学 Office,完整系统的学习,提升自己。 小兰推荐大家学习 《和秋叶一起学三件套》! 这套书包含《和秋叶一起学 Word》、《和秋叶一起学 PPT》、《和秋叶一起学 Excel》三册,系统性地带你学习办公必备的 Office 知识~












觉得好看就点个在看 !
