EXCEL中如何给多个小计自动求和

如何给多个小计自动求和,比如说给这三个小计在合计中自动求和,少了好算,要是几百个如何设置公式!

方法一:在B1中输入公式=SUM(MID(A1,{1,6,11,16,21},4)*1)
方法二:定义一个名称,比如“求和”,输入=EVALUATE(SUBSTITUTE(Sheet1!$A2,"、","+"))后确定,在B1中输入=求和,即得到要的结果。方法二通用性更强些。
方法三:用VBA求解。进入VBE编辑环境,插入模块,输入代码:
Function 单元格求和(i As Range)
单元格求和 = Application.Evaluate(WorksheetFunction.Substitute(i, "、", "+"))
End Function
回到刚才的表上在B1中输入=单元格求和(A1)即可得到想要的结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-09
如果小计与小计之间的间隔是有规律的或是固定的那就很好办了
首先点击 工具--宏--Visual Basic Editor
在左上方双击你要操作的sheet页,复制下面代码
Sub test()
Dim i As Integer
Dim k As Integer
Dim StrCount As String
Dim j As Integer

Dim AllCoul As Integer
Dim Jiange As Integer

i = 0
j = 0
k = 1

AllCoul = 33
Jiange = 7

For i = 1 To 33
If i Mod Jiange = 0 Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown
j = j + 1
End If
Next i

For i = 1 To AllCoul + j
If i = AllCoul + j Then
Cells(i, 1).Value = "合计"
Cells(i, 2).Value = "=SUM(" & Mid(StrCount, 1, Len(StrCount) - 1) & ")"
Exit Sub
End If
If i Mod Jiange = 0 Then

Cells(i, 1).Value = "小计"
Cells(i, 2).Value = "=SUM(B" & k & ":B" & (i - 1) & ")"

StrCount = StrCount & "B" & i & ","
k = i + 1
End If
If AllCoul + j - i < 7 Then
StrCount = StrCount & "B" & i & ","
End If
Next i
End Sub
点击执行或者按F5 就ok了

说明:AllCoul 是你数据的总行数,Jiange 是你求和的间隔,8行计数一次就是8,9行计数一次就是9
可能有点繁琐但绝对好用,要下班了,没时间优化了
如果有高手用公式能求出来,一定要写出来啊,我也想学习一下。
第2个回答  2010-07-09
如果您的小计公式是按工具条上∑求得的,那么将光标放在合计单元格,再按一次∑就会得到每个小计的相加结果。
第3个回答  2010-07-09
可以采用取巧的办法,如果数据区域规范的话,可以将所有区域的总和求出除以2,B24中输入
=SUM(B1:B23)/2
第4个回答  2010-07-09
=SUMIF(A1:A50,"小计",b1"b50)本回答被提问者采纳
相似回答