WPS中这个新增函数提取万物,我无敌你随意!

E精精
E精精

创作者俱乐部成员

我们看一些常见的数据提取难题,现在来看真的非常简单!一起来见识一下!如果你的版本还不支持,文末获取最新安装包

我们先来简单的开始

▍01 | 提取第一个数字

下面的函数公式是把A1单元格中的全部连续数字提取出来,非常简单,这个在过去老版本几乎是不可能的!

=REGEXP(A1,"\d+")

即使使用新函数,也要写一长串,相对上面,可以说是简洁到没朋友~

=TEXTSPLIT(A1,TEXTSPLIT(A1,VSTACK(ROW(1:10)-1,"."),,1),,1)

当然,如果单独的提取数字,并没有什么意义,下面我们看一下有意义的提取

▍02 | 提取日期

内容中有两个日期,分别对应开始日期和结束日期,格式还不太一样,请提取出来!

知识点:其中\d表示[0-9]数字![字符] 表示字符集,任意其中一个字符,{m,n}最少m次最多n次!

=REGEXP(A1,"\d{4}[年-]\d{1,2}[月-]\d{1,2}日?")

当然,我们也可以配合其他函数,计算一下天数!

=SUM(REGEXP(A1,"\d{4}[年-]\d{1,2}[月-]\d{1,2}日?")*{-1,1})+1

下面我们再来看一下银子的提取问题,很多同学比较关注!

▍03 | 提取金额

下面是提取末尾是“元”的正负数,注意案例中我们特意添加了“5斤”干扰项,实际并没有被提取!

=TOCOL(REGEXP(A1,"[+-]?\d+(\.\d+)?(?=元)"))

如果我们想计算一下总消费金额,套一下SUM即可!

=SUM(--REGEXP(A1,"[+-]?\d+(\.\d+)?(?=元)"))

正则对文本的处理非常灵活!比如我们只想要提取汉字部分,可以使用下面的写法!

▍04 | 提取汉字

下面是其中一种写法!

=TOCOL(REGEXP(A1,"\p{Han}+"))

常用函数,也可以使用下面的写法!

=TOCOL(REGEXP(A1,"[一-龟]+"))

▍05 | 替换的实战案例!

由于填写疏忽,字段和内容之间没有添加分隔符,现在我们已知字段名称,希望在每个字段后面添加一个冒号!

这是分组替换的小案例!

=REGEXP(A1,"(姓名|年龄|手机号码)",2,"\1:")

正则函数你觉得自己办公中需要吗?
需要
8 (80%)
不需要
2 (20%)
10人参与 投票已截止
江苏省
浏览 568
4
6
分享
6 +1
10
4 +1
全部评论 10
 
阳光之恋
社区提供的最新版3011包含这个函数吗
· 安徽省
回复
 
阿米子
我的wps里面怎么没有这个函数呢
· 四川省
回复
E精精
E精精

创作者俱乐部成员

还没全面开放
· 江苏省
回复
 
扬帆起航
学习
· 山东省
回复
 
经历失望变黑子
提取连续数字(非小数)老版本是可以做的,但是确实麻烦不少。正则对于提取来说是挺好,方便了很多
· 重庆
回复
 
清华学弟任泽岩
清华学弟任泽岩

2024年03月优秀创作者

收藏了。看来REGEXP的难点在于手边需要有一个参数表,或者硬背下来。
· 辽宁省
回复
E精精
E精精

创作者俱乐部成员

正则的东西不少,看一遍 多练习练习就好了!
· 江苏省
1
回复