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也可以轻松解决这个问题,而且还可以一劳永逸~~~
你是否觉得通过我这个案例演示学到了新的函数?
不~我其实想通过案例来说明下,我们正确的思维应该是在登记明细账的时候要规范~~~
做成数据库结构的一维表~~~~数据源表要规范,一列属性,一行一记录~
那么需要归总的金额如何汇总?使用透视表生成~~~
#文本数字怎么求和#