Kirk在他的许多工作表中都使用SUM函数(自然)

确定一个值范围的总和。但是,他遇到的问题是,他求和的范围包含一些隐藏的行,并且他不希望这些值(隐藏的行)包含在总和中。

SUM函数的工作方式非常简单。它只是将范围相加。但是,您可以更改使用的功能并获得所需的结果。例如,假设您要对A3:A45的范围求和,并且不希望将任何隐藏值包含在总和中。您应该按以下方式使用SUBTOTAL函数:

=SUBTOTAL(109,A3:A45)

函数的第一个参数(109)指示您希望SUBTOTAL完成其工作的方式。在这种情况下,这意味着您希望SUBTOTAL使用SUM函数求和范围,并且不希望任何隐藏的值包含在返回的值中。 (如果您在SUBTOTAL功能的在线帮助中查找,则可以了解有关控制SUBTOTAL参数的更多信息。)

如果由于某种原因不想使用SUBTOTAL函数,则可以创建自己的用户定义函数(宏),该函数仅对范围内的可见值求和。考虑以下宏:

Function Sum_Visible(Cells_To_Sum As Object)

Dim vTotal As Variant

Application.Volatile     vTotal = 0     For Each cell In Cells_To_Sum         If Not cell.Rows.Hidden Then             If Not cell.Columns.Hidden Then                 vTotal = vTotal + cell.Value             End If         End If     Next     Sum_Visible = vTotal End Function

要使用该功能,只需在希望出现总和的位置使用以下公式即可:

=Sum_Visible(A1:A1000)

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

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

本技巧(12123)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Summing_Only_Visible_Values [仅汇总可见值]。