我使用SUM(B1..B20)
公式对一列求和,但是当我按相邻列过滤数据时,求和不会更新为只反映那些未被过滤掉的行。如何做到这一点?
发布于 2014-01-23 01:42:33
如果您没有使用自动筛选(即您有手动隐藏的行),则需要使用AGGREGATE
函数而不是SUBTOTAL
。
发布于 2009-04-17 09:32:05
当您使用自动筛选来筛选结果时,Excel甚至不会费心隐藏它们:它只是将行的高度设置为零(至少到2003年,不确定2007年)。
所以下面的自定义函数应该会给你一个启动器来做你想做的事情(用整数测试,没有玩过任何其他东西):
Function SumVis(r As Range)
Dim cell As Excel.Range
Dim total As Variant
For Each cell In r.Cells
If cell.Height <> 0 Then
total = total + cell.Value
End If
Next
SumVis = total
End Function
编辑:
您需要在工作簿中创建一个模块来放置函数,然后您可以像调用任何其他函数一样在工作表上调用它(=SumVis(A1:A14))。如果您需要帮助设置模块,请让我知道。
https://stackoverflow.com/questions/759656
复制相似问题