在隐藏行的情况下满足条件的单元格范围的总和?

是否有Excel函数来计算包含隐藏行的单元格范围的总和(用户使用自动filter进行过滤)并满足特定条件?

例如,请考虑下面的图表:

   |  A |  B |
 1 | 数字| 国家|
 2 |  1 |  X |
 3 |  2 |  X | 
 4 |  3 |  Y |
 5 |  4 |  X | 

应用只显示国家X的自动filter,会导致以下结果,第4行被隐藏:

   |  A |  B |
 1 | 数字| 国家|
 2 |  1 |  X |
 3 |  2 |  X | 
 5 |  4 |  X | 

我想计算列A中大于1的数字总和,同时考虑用户的自动filter。

我已经通过结合SUBTOTAL和数组filter来尝试以下解决scheme:

=SUBTOTAL(9;(A2:A5>=2)*(A2:A5)) 

这可能不起作用,因为参数types不匹配。 我不知道如何将数组转换为引用。

基于他的回答,我创build了这个函数,它在计算总和之前评估一个条件。

 Function SumVisibleWithCondition(MyRange As Range, Condition As String) As Integer Dim sum As Long Dim c As Range For Each c In MyRange If Not c.EntireRow.Hidden Then If Evaluate("" & c.Value & Condition) Then sum = sum + c.Value End If End If Next c SumVisibleWithCondition = sum End Function 

你可以使用这里build议的方法来做到这一点

对于你的例子公式将是

=SUMPRODUCT(SUBTOTAL(9;OFFSET(A2;ROW(A2:A5)-ROW(A2);0))*(A2:A5>=2))