识别摘要内的多个金额并求和!

职场   职场   2024-11-05 08:52   河北  


Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Super Excel Man
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地


    



大家好,今天我们来解决一个问题:如何识别摘要内的多个金额并求和


如下图所示

A列单元格内是一些费用的摘要明细。我们只想要将各项费用支出的金额数字提取出来并相加求和,得到金额总计显示在B列。



我们用正则表达式函数REGEXP函数。官方是这样阐述REGEXP函数的:REGEXP函数能够根据正则表达式对字符串进行提取、判断或替换。


函数语法也容易理解
=REGEXP(要处理的字符串,正则表达式,[匹配模式],[替换内容])


一般平时简单的运用也就是涉及到第一参数与第二参数,第三参数与第四参数一般跳过省略。


我们输入REGEXP函数
=REGEXP(A2,"[0-9.]+")


"[0-9.]+"是正则表达式,表示包含小数点的连续数字。所以REGEXP函数可以将A2单元格中的连续数字以数组溢出的形式显示出来:
{"11","250.9","100"}



但是上述结果{"11","250.9","100"}中的结果把“11月”中的数字“11”也提取出来了,因为“11”也是连续的数字,那么如何只将字符“元”字前面紧挨着的数字金额提取出来呢?


我们这样继续完善正则表达式
=REGEXP(A2,"[0-9.]+(?=元)")


继续在"[0-9.]+"后加上“(?=元)”,“(?=元)”表示字符“元”之前的内容。这样的话REGEXP函数就可以将A2单元格中的“元”字前的所有的连续的数字金额提取出来,结果以数组溢出结果显示:
{"250.9","100"}



如果继续用SUM函数对数组元素求和
=SUM(REGEXP(A2,"[0-9.]+(?=元)"))


会产生错误的结果“0”,原因就是REGEXP函数返回的结果是文本型数值



所以我们要这样做
=SUM(REGEXP(A2,"[0-9.]+(?=元)")*1)


REGEXP函数的结果乘以数字1,可以将其返回的文本型数值转换为真正的数值。再用SUM函数求和就成功了。



其实重复学习Excel,刚开始是挺难的,但重复的次数多了总会成为习惯,先从坚持一星期开始,你会爱上那种脑子又累,又无限充实的感觉。回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。


 

知识点精彩超链接点击阅读

VLOOKUP的新搭档HSTACK函数,实现逆向查询
一个小小的VSTACK函数,就能实现多工作表合并
VLOOKUP最新用法,提取混合内容中的手机号
带超链接的VLOOKUP函数,让查询体验起飞
最新方法来了:按指定的次数重复数据
合并工作表,用两个函数就搞定啦
比VLOOKUP还好用的多条件查找
点击谁就筛选谁,实现筛选自动化
以“数字”作为分隔符,进行分列
点击谁,就对谁自动条件求和
更多实用内容请在号内历史文章搜索 

Excel情报局
Excel表格爱好者,分享一些日常的积累。做一个职场人都能看懂的表格技巧公众号。多学一个Excel小技巧,会让你在职场中多一分底气与自信。(同名视频号)
 最新文章