曼迪奇观,如果有要总结的数据范围和一种方式在总和中只包括那些包含公式细胞。据小敏的需求,如果单元包含明确的价值,而不是一个公式,那么它不应该被包含在总和。

有很多方法,你可以去实现理想的结果,但我只关注其中的几个。

首先,如果你只需要确定和一个单一的时间,而不是让它出现在工作本身,那么你就可以按照下列步骤操作:

。选择您要总结的细胞。

。按F5。 Excel将显示“转到”对话框。

。单击特殊按钮。 Excel将显示“转到特殊”对话框。

。选择公式单选按钮。

。单击确定。 Excel中修改所选择的细胞,以便只有那些含有式被选择。

此时,您可以在状态栏(底部Excel窗口)看看,看看所选单元格,那些包含公式的总和。

如果您更喜欢基于公式的方法,则此处的关键因素之一就是所使用的Excel版本。微软推出了ISFORMULA函数的Excel 2013年释放,因此,如果您正在使用的版本(或更高版本),确定你想要的总和是很容易的。

只要使用这个公式:

=SUMPRODUCT(A1:A5,--ISFORMULA(A1:A5))

此公式假定您要求和的数据范围是A1:A5。所述ISFORMULA功能之前“双减”号被用于转换TRUE和FALSE值(由ISFORMULA返回)为1或0。

如果你喜欢使用数组公式,你可以用下面的公式:

=SUM(IF(ISFORMULA(A1:A6),A1:A6))

只要记住使用按Ctrl + Shift进入+ Enter键,你会得到正确的结果。

如果您使用的Excel版本早于Excel 2010,则这些公式将不起作用。相反,你需要依靠用户定义的函数来达到目的:

Function SumFormulas(ByVal r As Range)

Dim c As Range     Dim s As Double

s = 0     For Each c In r.Cells              If c.HasFormula And IsNumeric(c) Then             s = s + c.Value         End If     Next c     SumFormulas = s End Function

请注意,该代码检查以确保该单元格包含一个公式(使用HasFormula属性),并检查以确保其为数值(使用IsNumeric函数)。两者都是必要的,因为它可能有一个基于文本的公式的单元格,你不想尝试在您和这样一个公式的结果。

为了使用该函数,您只需在工作表单元格中使用以下内容,假设您想对范围A1:C7求和:

=SumFormulas(A1:C7)

基于宏观的做法也将在以后的Excel 2010的Excel版本的工作,如果由于某种原因你不想依靠ISFORMULA功能。 (举例来说,如果你要保证与旧版本的Excel兼容。)

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

这个技巧(13595)适用于Microsoft Excel 2007中,2010年,2013年,2016年,2019年,和Excel在Office 365