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