ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 综合应用 > 如何从单元格内的内容,提取出数字并加总

如何从单元格内的内容,提取出数字并加总

作者:绿色风 分类: 时间:2022-08-18 浏览:205
楼主
xmyjk
Q:如何从单元格内的内容,提取出数字并加总,如[A1]单元格有文本“除草6人,砌墙10人、扫地1人看班2人”,加总数字为:19

A:可以使用两种方法
1、VBA正则+数组做自定义函数完成:
  1. Function sumnew(a As String) As Double

  2. Dim tmp
  3. With CreateObject("vbscript.regexp")
  4. .Global = True
  5. .Pattern = "\D"
  6. a = .Replace(a, "|")
  7. End With

  8. tmp = Split(a, "|")

  9. For i = 0 To UBound(tmp)
  10.    If Len(tmp(i)) > 0 Then
  11.    sumnew = sumnew + tmp(i)
  12.    End If
  13. Next

  14. End Function


2、可以使用函数数组公式完成:
  1. =SUM(TEXT(LEFT(TEXT(MID(A1&"a",COLUMN(2:2),ROW($1:$15)),),ROW($1:$15)-1),"0%;-0%;0;!0")*ISERR(-MID(A1,COLUMN(2:2)-1,2)))

  1. =SUMPRODUCT(TEXT(LEFT(TEXT(MID(A1&"A",ROW($1:$100),COLUMN($A:$P)),),COLUMN($A:$P)-1),"G/通用格式;-G/通用格式;0;!0")*ISERR(-MID(A1,ROW($1:$100)-1,2)))


文本取数.rar
2楼
海洋之星
从单元格内的内容,提取出数字并加总,学习了,强,谢谢分享
3楼
sharkzhou
厉害啊。。学习
4楼
sharkzhou
如果单元格是这样的结构计算不出啊???
A2单元格内容
aa-23
bs-10
cd-23
5楼
sharkzhou
如果是带小数点的计算结果不对啊

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap