这个新增的Excel提取函数太厉害了! EGEXEXTRACT函数使用详解
脚本之家
今天我们继续来聊聊Excel的新函数——REGEXEXTRACT,它可以根据正则表达式来进行数据的提取,可以说是最强大的数据提取函数,没有之一,在WPS中叫做REGEXP函数,最然叫法不一样,但是用法基本上都是一模一样的。
一、什么是正则表达式
正则表达式是一种文本模式描述的方法,包括普通字符(如字母a到z)和特殊字符(称为“元字符”)。通常使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。正则表达式通常被用于搜索、编辑或操作文本和数据。
简单来说就是:正则表达式可以通过一些特定的字符来描述出当前数据的规律,然后我们再通过这个规律来做数据提取与匹配。
以下是一些常见的元字符,这个大家只需要做了解即可,不需要记得,毕竟都是AI时代了。
二、REGEXEXTRACT
REGEXEXTRACT函数:根据正则表达式来进行数据的提取。
语法:=REGEXEXTRACT (text、pattern、[return_mode]、[case_sensitivity])
- 参数1:需要提取的文本
- 参数2:正则表达式
- 参数3:匹配类型,一共有3个,下面会详细讲到
- 参数4:是否需要区分大小写
以上就是REGEXEXTRACT函数的参数,随后我们来了解下的使用方法。
三、常规用法
在这里\d表示整数后面再跟一个+号就表示匹配一个或多个数字字符。
公式:=REGEXEXTRACT(B3,"\d+",0)
将第三参数忽略或者设置为0,只会返回第一个匹配到的结果。
公式:=REGEXEXTRACT(B3,"\d+",1)
将第三参数设置为1,则表示匹配所有满足条件的结果。
公式:=REGEXEXTRACT(B3,"\d+",2)
将第三参数设置为2.则会返回错误值,这个是因为第三参数是用来获取匹配组的第一个结果的,当前的正则表达式并不是匹配组,所以就会返回错误值,这用到的并不多大家了解即可。
四、提取小数
公式:=REGEXEXTRACT(B3,"\d+\.?\d+",1)
跟大家简单的讲解下这个正则表达式的含义。
\d+表示匹配多个数字,\.?表示匹配1个小数点,\d+再次匹配多个数字,这样的话就能构建好小数的匹配规则。
如果你想对数据进行求和,需要注意的是该函数是一个文本函数,结果都是文本格式的数字,需要将结果乘1转换为数字格式才能求和。
公式:=SUM(REGEXEXTRACT(B3,"\d+\.?\d+",1)*1)
五、提取字母
公式:=REGEXEXTRACT(B3,"[a-z]+",1,0)
在这里如果第四参数为0怎表示区分大小写,第四参数为1怎表示不区分大小写。
这个参数的意义其实并不大,可以使用使用[A-Z]表示大写字母,[a-z]表示小写字母。
六、提取汉字
公式:=REGEXEXTRACT(B3,"[一-龟]+",1)
方括号是一个字符集,一-龟就表示汉字的范围,在这里范围是根据Unicode 编码的顺序,一到龟基本涵盖的所有的函数,所以是可以使用[一-龟]来代指所有的汉字的。
七、AI协助
正则表达式的规则与用法真的非常多,甚至有大佬还为此转换写了一本书,但是我们真的完全没有必要去学习,现在AI已经非常普及了,遇到不会的正则表达值,直接询问AI即可。
比如现在我们想要提取下面这个话的金额,就可以直接询问AI,它的答疑也基本都是正确的。
早上5个人花了100元,今天中午2个人花了12.6元,晚上花了19.63元。
以上就是今天分享的全部内容,这个函数在WPS中叫做REGEXP,升级到最新版已经可以使用了,大家可以动手练习下,真的很好玩。