3

我想计算在哪里:

  • A 列包含“a”
  • 包含“a”的行被隐藏。

例如:

如果第 2 行和第 5 行(包含“a”)被隐藏,则输出应为 2(不包括第 3 行中可见的“a”)。

在此处输入图像描述

4

4 回答 4

3

从这里使用健康的部分

=COUNTIF(A1:A5,"a")-SUMPRODUCT(--($A$1:$A$5="a"),SUBTOTAL(103,OFFSET(A1,ROW($A$1:$A$5)-ROW(A1),0)))
于 2013-10-12T02:59:15.850 回答
1

这只会计算隐藏的行。

Sub SumInvisible()

    For i = 1 To 10
        If Range("A" & i).EntireRow.Hidden = True Then
            If Range("A" & i).value = "a" then
                Var = Var + 1
            End if
        End If
    Next i

    Range("B" & i).Value = Var

End Sub
于 2013-10-11T07:55:58.853 回答
0

最简单的方法:

1) 添加辅助列

=SUBTOTAL(103, A2) 在 A 列旁边,对于 A3,它变为 (103,A3) 等等

2)然后使用

=COUNTIFS(A2:A5,"a",B2:B5,"=0")

于 2013-10-11T07:21:58.640 回答
0

在 VBA 中,我有一个自定义函数,如下所示:

Public Function IsCellHidden(vRange As Range) As Boolean
    'Check if a cell is hidden

    Dim vHidden As Boolean

    If vRange.Rows(1).Hidden Or vRange.Columns(1).Hidden Then vHidden = True

    IsCellHidden = vHidden
End Function

然后我把它放到A列相应单元格的B列中,所以B1例如是=IsCellHidden(A1)然后在C6中我会有=COUNTIFS(A1:A10,"A",B1:B10,TRUE)

于 2013-10-11T07:50:18.687 回答