1

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

例如,考虑以下工作表:

  | 一个 | 乙|
1 | 数字 | 国家|
2 | 1 | X |
3 | 2 | X |
4 | 3 | 是 |
5 | 4 | X |

应用仅显示国家 X 的自动过滤器,结果如下,其中第 4 行被隐藏:

  | 一个 | 乙|
1 | 数字 | 国家|
2 | 1 | X |
3 | 2 | X |
5 | 4 | X |

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

我通过将 SUBTOTAL 与数组过滤器结合起来尝试了以下解决方案:

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

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

4

2 回答 2

0

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

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
于 2013-07-18T12:53:12.387 回答
0

您可以使用此处建议的方法执行此操作

对于您的示例公式将是

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

于 2013-07-21T09:59:59.823 回答