发布日期:2024-09-02 07:10 点击次数:192
与 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不加班」推荐给你的朋友
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。