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培训的来源。

本技巧(3082)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: