永发信息网

如何在EXCEL中进行单元格文本中提取数字然后求和

答案:5  悬赏:50  手机版
解决时间 2021-01-17 19:29
  • 提问者网友:难遇难求
  • 2021-01-17 07:30
百度找了很多都不行像这种的=MIDB(I8,SEARCHB("?",I8),2*LEN(I8)-LENB(I8))求表格大神指导!
就是代码不会写。应该怎么写?
找了网上好几个改了,但是不好使,这是属于第8行,I列,也就是I8 但是网上的都不行



最佳答案
  • 五星知识达人网友:夜风逐马
  • 2019-09-12 13:06
用2013或2016的excel,不用写代码。



光标放这里,按ctrl+E:







同理C,D也一样,选中C2,按ctrl+E,然后选中D2,按ctrl+E:



下拉填充E列,OK。
全部回答
  • 1楼网友:逃夭
  • 2019-11-15 08:54
假设第一个条件在b列,第二个条件在c列,要求和的数据在d列 求b列为1 , c列为2的和的公式是: =sumproduct((b1:b100=1)*(c1:c100=2)*(d1:d100))
  • 2楼网友:想偏头吻你
  • 2020-02-03 21:59
代码:放在模块里后,在单元格输入公式:=NS() Function ns(rg) '提取数字并求和      Dim reg As Object        Set reg = CreateObject("VBScript.RegExp")     Dim sr, ma, s, m, x     With reg         .Global = True         .Pattern = "\d*\.?\d*" '提取数字,后面会详细见用法         Set ma = .Execute(rg) ''Execute(sr)把符合条件的值查出来,放到MA里面         For Each m In ma '在这里循环查找MA的值             s = s + Val(m) '转换为数字         Next m     End With     ns = s     ' Stop End Function
  • 3楼网友:撞了怀
  • 2020-04-08 20:00
你的格式有问题,支出一栏应该分隔成两列,一列是支出项目:馒头、啤酒、聚餐一项一行;另外一列是“金额”,对应前面支出项目的花费。然后再来一列“总计”或者“小计”,公式用SUM(各个金额对应的小格)就可以解决。
  • 4楼网友:往事埋风中
  • 2020-08-14 14:17
自定义函数 Function SumValueInText(TargetRange As Range) As Double Dim mRegExp As Object '正则表达式对象 Dim mMatches As Object '匹配字符串集合对象 Dim mMatch As Object '匹配字符串 Set mRegExp = CreateObject("Vbscript.Regexp") With mRegExp .Global = True 'True表示匹配所有, False表示仅匹配第一个符合项 .IgnoreCase = True 'True表示不区分大小写, False表示区分大小写 .Pattern = "([0-9])?[.]([0-9])+|([0-9])+" '匹配字符模式 Set mMatches = .Execute(TargetRange.Text) '执行正则查找,返回所有匹配结果的集合,若未找到,则为空 For Each mMatch In mMatches SumValueInText = SumValueInText + CDbl(mMatch.Value) Next End With Set mRegExp = Nothing Set mMatches = Nothing End Function
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯