REGEXP函数,从正则表达式说起~(regexp正则匹配)

如果单位组织国庆出去玩,让你临时兼出纳,你需要登记支出明细账,你怎么登记?

是不是这样登记?

这个登记方式很普遍,看起来很直观,每一天的支出一目了然,非常清爽~

如何求和?不至于一个个金额去加吧?

如果用WPS就知道有一个正则函数,我们在E2单元格输入:

=REGEXP(B2,"[0-9.]+"),可以提取B2单元格的数字~

①“[0-9.]+”表数字及含小数点的数字。

②“[A-z]+“表示所有英文字符。

③“[一-龟]+“表示所有中文字符。

我们想到直接在函数前面加一个SUM求和,

=SUM(REGEXP(B2,"[0-9.]+"))

看看效果~~~~,合计为0~~~


原因是用REGEXP函数提取后的数字其实是文本格式,然后再用双减号“--”,也就是先用负负得正~转换成数值形式再用SUM函数进行求和运算,或者“*1”也可以~

提示:文本数字可通过“+-*/”计算,不可以通过函数计算~~~~~

数字和数值是两个概念~~

=SUM(--REGEXP(B2,"[0-9.]+"))或者=SUM(REGEXP(B2,"[0-9.]+")*1)

进阶~~

如果中间多了“6人”如何计算?

=SUM(--REGEXP(B2,"[0-9.]+(?=元)"))

(?=元)表示“元”前面的内容~~~当然每个金额后面要加元~~如果有漏加的计算不正确~~~~~

REGEXP是WPS的函数~

如果是office可以使用Power Query也可以轻松解决这个问题,而且还可以一劳永逸~~~

你是否觉得通过我这个案例演示学到了新的函数?

不~我其实想通过案例来说明下,我们正确的思维应该是在登记明细账的时候要规范~~~

做成数据库结构的一维表~~~~数据源表要规范,一列属性,一行一记录~

那么需要归总的金额如何汇总?使用透视表生成~~~

#EXCEL#

#正则表达式#

#Excel函数公式#

#WPS#

#文本数字怎么求和#