wps怎么带括号求和? regexp+sum这个厉害的求和公式请收藏


    粉丝求助SOS:求助,这种在一个单元格里【...】(中括号)里的数字,怎么求和?
    如下图所示:A2单元格为混合文本组成的字符串,其中包含数字,汉字,标点符号,数学符号等。我们想要对混合文本中“【】”里面的数字相加求和。也就是在A5单元格中显示求和结果:1+2+2+3,结果等于8。
    
    在没有REGEXP函数之前,这个问题还真有点小难,可能要通过若干函数嵌套,用较长的公式解决,看着也不容易让人理解其含义。自从出现了REGEXP正则表达式函数之后,就变得“快准狠”了。
    WPS:只有一个regexp函数,通过第3个参数的匹配模式来实现提取、判断、替换功能。
    
    =regexp(原始字符串,正则表达式,[匹配模式],[替换内容])
    匹配模式0为提取,1为判断,2为替换。
    Excel:有3个正则函数,regexextract用于提取文本、regexreplace用于替换文本、regextest用于测试字符串是否符合正则表达式。
    
  • ①=regexextract(字符串,正则表达式,[返回模式],[是否区分大小写])

    第3参数不选,默认返回一个匹配的值,第4参默认区分大小写匹配项。
    
  • ②=regexreplace(字符串,正则表达式,替换为,[替换第几个],[是否忽略大小写])

    第4个参数指定要替换第几个,为0时替换所有实例,负数则替换倒数第几个。
    
  • ③=regextest(字符串,正则表达式,是否忽略大小写)
第一步:正则提取数字
    我们输入公式:
    =REGEXP(A2,"【\d+")
    
  • \d+:表示1个或多个连续的任意数字。
  • 【\d+:用“【”与\d+连接,表示所有“【”与任意数字的组合,包括但不限于本例中的:【1,【2,【2,【3。

    
    第二步:重置位置
    继续完善正则表达式部分:
    =REGEXP(A2,"【\K\d+")
    
  • \K:表示重置字符位置。它可以将该符号前面的元素省略,只保留该符号后面的元素。

    所以将\K放在“【”的前面,其右面跟随的是\d+,即将上一步公式匹配到结果中的“【”省略,只保留\d+任意数字部分。
    这样做的目的是只保留能被运算的数字,符号不要:
    {"1","2","2","3"}
    
    第三步:格式转换
    继续完善公式:
    =REGEXP(A2,"【\K\d+")*1
    对REGEXP函数的返回结果乘以1。因为REGEXP函数默认返回的数字为文本型数值,不能参与直接运算。乘以1之后可以转换为真正的数字,可以后续参与运算:
    {1,2,2,3}
    
    第四步:简单求和
    最外面嵌套SUM求和函数:
    =SUM(REGEXP(A2,"【\K\d+")*1)
    对REGEXP函数返回的数组溢出结果:{1,2,2,3}中的各元素数字求和即可。
    
    
    推荐阅读:wps中lookup+sumifs搞定有合并单元格的多条件求和