excel 数字和汉字混合输入,如何自动提取数字求和

 我来答
hbpaoxiao2
2013-12-18 · TA获得超过2898个赞
知道大有可为答主
回答量:1962
采纳率:72%
帮助的人:879万
展开全部

用自定义函数吧

Function 和(rng As Range)
Application.Volatile
Dim reg As Object, arr, tmp
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "([^\d]+)"
arr = Split(rng, ")")
For i = 0 To UBound(arr)
    If reg.test(arr(i)) = True Then
        tmp = arr(i)
        Do
            tmp = reg.Replace(tmp, "")
        Loop Until reg.test(tmp) = False
        和 = 和 + tmp * 1
    End If
Next
End Function

追问
请问具体操作步骤
追答
alt+F11打开vba编辑器

然后菜单栏点插入》模块》把代码复制进去》关闭,回到excel中就可以使用了。
朱仕平
2013-12-18 · 知道合伙人软件行家
朱仕平
知道合伙人软件行家
采纳数:7872 获赞数:29185
15年质量管理经验, 5年EXCEL培训经验, 目前专职EXCEL网络教育和企业培训

向TA提问 私信TA
展开全部
自定义函数
Function 求和(Rg)
Dim reg
Set reg = CreateObject("Vbscript.regexp")
With reg
.Global = True
.Pattern = "\d+\.?\d*"
End With
Set mat = reg.Execute(Rg)
For Each m In mat
s = s + Val(m)
Next m
求和 = s
End Function

然后在单元格中输入公式
=求和(C2)
下拉填充公式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianqixueyu
2013-12-18 · TA获得超过2700个赞
知道大有可为答主
回答量:1350
采纳率:80%
帮助的人:460万
展开全部
在D2中输入公式:
=IF(C2="","",SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(C2,")",REPT(" ",9)),ROW($1:$100),10),),2,9),"0.00;-0.00;;!0")))
下拉填充。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-18
展开全部
比较困难,建议查查正则表达式把列分解,然后才能计算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
新浪河阳小子
科技发烧友

2019-02-15 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:6229
采纳率:73%
帮助的人:234万
展开全部
D2=SUMPRODUCT(TEXT(LEFT(TEXT(MID(C2&"a",COLUMN(1:1),ROW($1:$5)),),ROW($1:$5)-1),"0%;-0%;0;!0")*ISERR(-MID(C2,COLUMN(1:1)-1,2)))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式