作者:绿色风
分类:
时间:2022-08-18
浏览:205
楼主 xmyjk |
Q:如何从单元格内的内容,提取出数字并加总,如[A1]单元格有文本“除草6人,砌墙10人、扫地1人看班2人”,加总数字为:19
A:可以使用两种方法 1、VBA正则+数组做自定义函数完成:
- Function sumnew(a As String) As Double
- Dim tmp
- With CreateObject("vbscript.regexp")
- .Global = True
- .Pattern = "\D"
- a = .Replace(a, "|")
- End With
- tmp = Split(a, "|")
- For i = 0 To UBound(tmp)
- If Len(tmp(i)) > 0 Then
- sumnew = sumnew + tmp(i)
- End If
- Next
- End Function
2、可以使用函数数组公式完成:
- =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)))
- =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总版主之一