2024年Excel提取数字的完美方案

职场   2024-06-28 09:53   江苏  
嗨!诸位安好~ 最近偶感风寒,更新不及时哈,这不好点就来更新啦!

今天我们聊聊从文本中提取数字的难题!

比如下面图中的需求,我们要计算每天的消费合计!

2016及以下版本,过去我们的写法非常复杂!请看下面的函数公式,不知道诸位感觉如何,我虽然学习了很久了,但是看到这样的公式还是挺头疼!



后来出现了拆分函数,这个问题算是一定程度上被简化,但是难度依据还有一丢丢!

=SUM(--TEXTSPLIT(B2,TEXTSPLIT(B2,VSTACK(".",SEQUENCE(10,,0)),,1),,1))


公司的大概意思,先用数字和小数点作为分隔符拆分内容,得到的是非数字和小数点,再把他作为拆分符号,从而实现删除非数字和小数点的内容!从描述上应该可以发现,上面的方法并不完美,因为如果只有一个点也会被保留!不过可以通过IFERROR容错处理!

下面我们看一下最新的处理方案:

①WPS用户

=SUM(--REGEXP(B2,"\d+(\.\d+)?"))
REGEXP是新出的函数,最新版本已支持!江湖人称正则表达式,不过我们普通办公用户没必要深究!知道 这玩意“\d+(\.\d+)?” 可以提取数字即可,套用!


下面是写给感兴趣的同学的:
1、\d 表示0~9中的任意一位数字
2、+ 表示至少1次。?:表示0次或1次
3、\. 表示匹配小数点

整体的意思:匹配整数或者小数,因为(\.\d+)可以出现0次,也就是整数,1次就是小数!


②Excel用户

目前只有Excel365预览版本可用!微软和金山的函数名称略有不同,不过核心的正则还是一样的!
=SUM(--REGEXEXTRACT(B2,"\d+(\.\d+)?",1))
第二参数1,表示提取所有匹配结果!

以上就是今天要分享的内容,关于正则表达式的几个函数,我们将陆续在Excel365函数系列教程中更新,敬请期待!

Excel办公实战
Excel函数、VBA、PBI等全系列教程第一人。助你轻松实现办公自动化!宗旨:易办公◎早下班!
 最新文章