EXCEL表格,怎么将一个单元格里面的数字全部相加?

如图所示,就是一个格子里面的数字,全部自动相加求和。求大神相助

如果是wps可以用这个公式:

=EVALUATE(CONCAT(IF(LENB(MID(SUBSTITUTE(A1,"、","+"),ROW($1:$1000),1))=2,"",MID(SUBSTITUTE(A1,"、","+"),ROW($1:$1000),1)))&"+0")

如果是excel可以用这个公式:

=SUM(IFERROR(--RIGHT(TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",100)),(ROW($1:$100)-1)*100+1,100)),LEN(TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",100)),(ROW($1:$100)-1)*100+1,100)))*2-LENB(TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",100)),(ROW($1:$100)-1)*100+1,100)))),0))

都是数组公式,同时按下Ctrl+Shift+Enter结束输入。

公式中A1位你要求和内容所在单元格,自己改一下就行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-15
在B1中输入或复制粘贴下列公式
=SUM(IFERROR(--RIGHT(TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",100)),ROW($1:$100)*100-99,100)),LEN(TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",100)),ROW($1:$100)*100-99,100)))*2-LENB(TRIM(MID(SUBSTITUTE(A1,"、",REPT(" ",100)),ROW($1:$100)*100-99,100)))),0))
按三键CTRL+SHIFT+ENTER结束输入
下拉填充本回答被提问者采纳
第2个回答  2021-08-14

以下是我帮您做了个VBA的自定义函数,供您参考。

用法:先把代码粘贴到模块中,然后在单元格中输入=qh(文本所在的单元格地址)。

注意点:

    工作簿要存为启用宏的格式,否则代码保存不了。

    所有数字精度为小数点在2位以内。

    名称中间代表型号的数字最好改用汉字,比如“10号电池25元”改成“十号电池25元”

当然,如果有TEXTJION这样新版函数可用的话,也可以考虑用函数解决。

Function qh(rng As Range)
Dim Regx As Object
Set Regx = CreateObject("vbscript.regexp")
With Regx
.Pattern = "[+-]?\d+(.\d{2})?"
.Global = True
End With

Set mh = Regx.Execute(rng)
If mh.Count > 0 Then
For i = 0 To mh.Count - 1
a = a + Val(mh.Item(i).Value)
Next i
End If

qh = a
End Function

第3个回答  2021-08-15
=SUM(IFERROR(--MID(FILTERXML("<a><b>"&SUBSTITUTE($A1,"、","</b><b>")&"</b></a>","//b"),LENB(FILTERXML("<a><b>"&SUBSTITUTE($A1,"、","</b><b>")&"</b></a>","//b"))-LEN(FILTERXML("<a><b>"&SUBSTITUTE($A1,"、","</b><b>")&"</b></a>","//b"))+1,10),))
ctrl+shift+回车
第4个回答  2021-08-14
要用元字符正则表达式
也就是代码的一种
相似回答