本文作者:卫星酱

本文编辑:竺兰

文末获取函数代码!

锵锵!大家好哇~我是卫星酱!

两天前咱给大家分享了个 WPS 的新函数,帮助大家从文本中提取两个及以上数值。

当时的案例是这样的:

除了个人记账本,这种表格好像不太常见……

其实,以下工作中可能碰到的数据,也需要REGEXP函数的帮忙:

这些情况,普通函数,【Ctrl+E】,分列等做法,都很难搞定。

所以今天,我还是接着分享一下这几类数据的提取公式!

文末有 Excel 版正则表达式函数的获取方式,不要错过哦~

❶ 提取小数

上次使用的公式仅能提取整数:

=REGEXP( B3,"\d+")

要想提取小数,得对公式做出改进:

=REGEXP(C5,"\b\d+\.\d+|\d+\b")

正则表达式是比较复杂的内容,日常办公没必要去记,直接套用公式会更便捷~

如果你想学习更多函数公式,提高工作效率,早早下班!

那我推荐你加入秋叶 Excel 3 天集训营,让500 强企业培训讲师拉登Dony带你学习函数实操,课程采用职场真实案例,让你学了用得上,减轻工作负担~

秋叶 Excel 3 天集训营

原价 99 元

现在只需 0 元!

快来扫码加班主任微信报名吧!

加入 还送81 个函数手册

❷ 提取金额

有的时候我们只想提取一部分的数字。

那就给表达式加个通配符~

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

多项提取一步到位!

这比你先用某函数定位「斤」、「盒」、「打」和「元」,再用另一个函数定位这之间的价格,要来得容易吧?

❸ 提取日期

不多说,直接上公式:

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

当然,其它格式的日期也没问题:

=REGEXP(B13,"\d{4}[/]\d{1,2}[/]\d{1,2}/?")

=REGEXP(B14,"\d{4}[-]\d{1,2}[-]\d{1,2}-?")

观察一下表达式,我们会发现这些公式实际上是在提取以下格式的数值:

0000 年 00 月 00 日 0000/00/00 0000-00-00

所以,它也有可能会提取出「2024/55/15」这样的无效日期,要注意辨别。

如果需要确保日期的有效性,正则表达式会变得更加复杂,感兴趣的小伙伴们可以自行探索~

❹ 提取工时

这个案例,是很久之前一位读者的求助,原始数据已经不记得了,我大概复原一下:

这是概括后的内容,当时的数据有 60 多行,10 来个记录员,都有各自的记录习惯

当时,我只好建议对方分别提取期数和小时数,还得多填几个示例,好让【Ctrl+E】智能填充能识别提取的规律。

想要一次性统计工时,除非使用复杂到令人发指的套娃公式……

有了正则表达式后就方便多了,只要一个函数加上四则运算,就能一步到位:

=REGEXP(C3,"[+-]?\d+(\.\d+)?(?=期)")*3+REGEXP(C3,"[+-]?\d+(\.\d+)?(?=时)")

▲ 1 期=3 工时,1 时=1 工时

以上这些难搞的数值提取问题,通通只用 REGEXP 函数就能搞定!

而它能做到的不止如此——通过编写正则表达式,这个函数的自由度远超你想象↓↓↓

提取字符串中的电话号码或电子邮件地址。 验证用户输入的数据格式是否正确(如日期、时间、电话号码等)。 替换文本中的特定模式,如将文本中的所有英文单词首字母大写。 从大量文本数据中提取特定信息,如价格、货币或特定标签。

好了,今天我们进一步了解了 REGEXP 函数,用它解决了更多工作中的数据提取问题~

但因为 WPS 的新函数 REGEXP 尚在内测,Excel 中也没有对应的函数可以使用,大家可能没法立刻用上这个棒呆了的函数……

这怎么行呢!所以卫某给大家制作了一个自定义函数RegExpMatch,也有和 REGEXP 函数类似的匹配功能!

其中正则表达式的部分,两个函数是通用的,这点不用担心~

想要的同学可在文末获取源文件!

如果你想学习更多用函数高效办公的知识和技巧,提高效率摆脱无效加班~

欢迎你加入秋叶 Excel 3 天集训营,让大神带你学习函数运用,公式处理,以及高效小技巧!

秋叶 Excel 3 天集训营

原价 99 元

现在0 元秒杀!!

仅需 3 天

你就可能成为 Excel 高手!

赶紧扫码抢课吧!!

优惠名额有限,错过后悔!

现在报名

81 个函数手册

打开网易新闻 查看更多图片

发送【代码】

免费领 VBA 代码文件!