excel数字和文字混合怎么提取,excel怎么把文字中的数字单独提取

首页 > 实用技巧 > 作者:YD1662023-10-28 09:01:35

遇到一位知友的提问,在一个报销统计表中,个人的名字和需要报销的费用混杂在一起,需要求出来其中所有数字的和。具体形式如下。

excel数字和文字混合怎么提取,excel怎么把文字中的数字单独提取(1)

excel函数对处理这方面的功能是比较弱的,尤其当数据格式很不规则的时候,会比较难。

数据这么不规则,也遭到了知友的无语吐槽。

excel数字和文字混合怎么提取,excel怎么把文字中的数字单独提取(2)

哈哈,言归正传,既然有人这么写,那么肯定不是个例,还是要想办法解决问题。最方便快捷的方法还是VBA的正则表达式。

将如下代码写入模块中,只需要直接引用函数即可。

自定义函数代码

Function feiyong(rng As String)Set reg = CreateObject("vbscript.regexp")reg.Global = Truereg.Pattern = "\d "Set mat = reg.Execute(rng)For Each m In matstrr = strr Val(m)Nextfeiyong = strrEnd Function

excel数字和文字混合怎么提取,excel怎么把文字中的数字单独提取(3)

代码中的一个小知识点:

\d 在正则表达式中表示匹配至少一个数字。通过这个规则将单元格内所有数字匹配得到并求和。

val函数 val(字符串表达式)将数字字符串换成数值。这里正则表达式匹配出来后的值是string类型,需要将其转为数字类型,然后求和。

VBA笔记|干货

欢迎转发分享,让更多人学习到

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.