我正在使用Excel 2003并尝试查找各个条件的总和。我目前正在使用这个公式,它正在成功运作。
数据A1:G1776是数据库--- 数据C1 - 是我想要的总和的列---和 F4:F5是我设置要匹配的行的条件的列。
= DSUM(DATA $ A $ 1:!$ G $一七九九六,DATA $ C $ 1,$ F $ 4:F5)
我遇到的问题是文件大小超过5MB,这在您尝试通过电子邮件发送给其他人时非常重要。
有什么建议我可以如何复制该公式,同时减小文件大小并提高文档的速度?我不想使用数据透视表
克里斯
答案 0 :(得分:0)
替换DSUM,您可以使用sumproduct公式:
=SUMPRODUCT((DATA!$C$2:$C$17996)*(DATA!$A$2:$A$17996="Boys")*(DATA!$B$2:$B17996>18))
上面的示例创建了一个C列的总数,其中包括以下行:列A是“男孩,B列大于18”。 该示例假定第1行是标题行。
为了加快计算速度,您可以使用VBA来计算单个表格。
用于启用计算的VBA:
Public Sub enableCalc(ParamArray sheetsInUse())
Dim i As Integer
For i = 0 To UBound(sheetsInUse) Step 1
sheetsInUse(i).EnableCalculation = True
Next i
End Sub
使用:enableCalc activeworkbook.Worksheets(“Sheet1”)调用 这将启用活动工作簿中的计算Sheet1
用于禁用工作簿中所有工作表的计算的VBA:
Public Sub finishedUse(wrkbook As Workbook)
Dim i As Integer
Dim wrkSheet As Worksheet
For Each wrkSheet In wrkbook.Worksheets
wrkSheet.EnableCalculation = False
Next wrkSheet
End Sub
使用:finishedUse activeworkbook调用 这将禁用活动工作簿中所有工作表的计算。
上述方法不是通过改变工具中的自动/手动计算来实现的 - >选项