设置
  • 日夜间
    随系统
    浅色
    深色
  • 主题色

WPS 新函数 REGEXP 功能介绍

秋叶Excel 2024/5/11 23:21:10 责编:梦泽

本文作者:卫星酱

本文编辑:竺兰

锵锵~ 大家好哇!我是没事儿就整点函数分享的卫星酱~

今天卫某要介绍一个超级好用的 WPS 新函数 ——REGEXP

大家会从文本中提取数值吗?

像这样的内容:

虽然用的公式比较长:

=RIGHT(LEFT(C3,LEN(C3)-1)LEN(LEFT(C3,LEN(C3)-1))*2-LENB(LEFT(C3,LEN(C3)-1)))

但本质上是先去除单位:

再提取:

比较容易理解;

何况还有【Ctrl+E】这个大杀器(Excel 2013、WPS 12.7 及两者以上版本均可使用),直接帮我们搞定:

但要是碰上这种数据 ↓↓↓

打工人很可能只会上演一场笑容消失术……

但只要请出咱们今天的正主 ——WPS 新函数 REGEXP,问题就迎刃而解了!

1、函数介绍

REGEXP,是 WPS Office 中的一个文本处理函数(WPS 16894 版本中才有,目前在内测阶段)。

它还有许多的子函数,比如:

REGEXPEXTRACT:提取匹配正则表达式的子字符串。

REGEXPMATCH:判断文本是否匹配正则表达式。

REGEXPREPLACE:替换匹配正则表达式的文本。

如果有同学对此感兴趣,可以在评论区中留言,说不定下一次就介绍它们啦~

这里我们还是回归正题 ——

REGEXP 函数允许用户利用正则表达式来匹配、提取、替换或处理文本数据

比如,「\d+」就是一个正则表达式,它表示一个或多个数字字符的序列。

如果用「\d+」去匹配文本,它会匹配文本中所有连续的数字。

这就是为什么咱们今天的数据万分需要它:

2、案例实操

只需要输入一个短到不可思议的公式:

 =REGEXP(B3,"\d+")

就能搞定文本内提取多项数值的复杂问题!

3、Excel 做法

可惜的是,Excel 中并没有这个好用的函数

但要实现类似的功能,也不是没有办法~

按【Alt + F11】打开 VBA 编辑器,右击 VBAProject,选择【插入】- 【模块】。

添加以下代码:

Function RegExpMatch(pattern As String, text As String) As String
       Dim regEx As Object       
       Set regEx = CreateObject("VBScript.RegExp")

        regEx.Global = True       
        regEx.MultiLine = True       
        regEx.IgnoreCase = False

        regEx.Pattern = pattern       
        Dim matches As Object       
        Set matches = regEx.Execute(text)

        Dim results As String       
        results = ""

        If Not matches Is Nothing And matches.Count > 0 Then            
        Dim i As Integer            
        For i = 0 To matches.Count - 1            
              If matches.Item(i).Value <> "" Then               
                      results = results & matches.Item(i).Value & ", "                  
                      End If            
                      Next i            
                      ' 移除最后一个多余的逗号和空格            
                      If Right(results, 2) = ", " Then             
                           results = Left(results, Len(results) - 2)            
                           End If       
                        End If

                     RegExpMatch = results
        End Function

然后我们就能使用自定义函数 RegExpMatch

4、写在最后

好了,今天给大家带来的是 WPS 新函数 REGEXP,提取文本中所有连续数值的用法,还给出了 Excel 中的替代选项哦~

当然,如果你紧跟潮流,善用 AI,那就更简单了~

只需把图片丢给 AI,并命令「提取其中所有数值,并以纯数字形式返回给我」,直接出结果!

不过,如果数据比较敏感,担心隐私泄露问题,还是用函数自己处理比较好~

本文来自微信公众号:秋叶 Excel (ID:excel100),作者:卫星酱

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

相关文章

关键词:Excel教程Excel学院

软媒旗下网站: IT之家 辣品 - 超值导购,优惠券 最会买 - 返利返现优惠券 iPhone之家 Win7之家 Win10之家 Win11之家

软媒旗下软件: 魔方 酷点桌面 Win7优化大师 Win10优化大师 软媒手机APP应用