分享

这个超牛逼的求和公式,请速收藏起来!(REGEXP函数版)

 Excel不加班 2024-08-21 发布于广东

与 30万 粉丝一起学Excel

最近一直在研究REGEXP函数,发现比想象中的更强大,过去一大堆案例都可以通过这个新函数解决,卢子挑选5个案例进行说明。

1.将字符串的数字、文字分离

[0-9]+代表连续的数字。

=REGEXP(A2,"[0-9]+")

^就是非的意思,[^0-9]+代表不是数字,也就是剩下的文字。

=REGEXP(A2,"[^0-9]+")

也可以用[一-龟]+

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

2.将g之前的数字提取出来

[0-9.]+代表包含小数点的连续数字,(?=g)代表g之前的内容。

=REGEXP(A2,"[0-9.]+(?=g)")

3.将手机号提取出来

[0-9]{11}代表11位数字。

=REGEXP(A2,"[0-9]{11}")

假如增加难度,里面还混合着电话号码,也要提取出来。

电话、手机都是7位以上,可以用[0-9]{7,},7就是7位,而7,(多了一个英文状态下的逗号)代表7位以上。

=REGEXP(A2,"[0-9]{7,}")

4.将日期、步数、排名都提取出来

[0-9]+如果不做任何限制条件,会将全部数字分开提取出来。

=REGEXP(A2,"[0-9]+")

5.将金额提取出来并求和

从案例4知道,如果不做任何限制,会将所有金额提取出来放在多个单元格。

=REGEXP(A2,"[0-9.]+")

其实,这些金额都是文本格式,需要加--转换成数值格式。

=--REGEXP(A2,"[0-9.]+")

最后嵌套SUM进行求和。

=SUM(--REGEXP(A2,"[0-9.]+"))

正则表达式还有一大堆用法,下面再提供一些常用的。

1)匹配邮编,邮编是6位数字。正则表达式:\d{6}

2)匹配手机,手机号是11位数字。正则表达式:\d{11}

3)匹配电话,电话是区号-号码组成,区号有3到4位,号码有6到9位。正则表达式:\d{3,4}-\d{6,9}

4)匹配日期,日期格式如2024-8-20,明显数字加横线组成。正则表达式:\d{4}-\d{1,2}-\d{1,2}

用法太多记不住也没关系,需要用到的时候,来公众号搜索即可。

请把「Excel不加班」推荐给你的朋友

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多