0

我需要计算一个字符串在一个范围内出现的次数,但前提是下一个单元格不为空。

A  1
B  5
D  4
A
G  1
B  4
B  8
D

所以我想要 A->1, B->3, D->1, G->1

我怎样才能做到这一点?

4

1 回答 1

3

如果您正在寻找单元格公式,这应该可以满足您的需求:

=COUNTIFS(A1:A8,"A",B1:B8,"<>")

A1:A8你的字母栏在哪里,B1:B8你的号码栏在哪里。

*注意这是COUNTIFS()(带S),而不是COUNTIF()(不带S)。


为了完整起见,这也可以,但可能比您想要的更复杂:

=SUMPRODUCT((A1:A8="A")*(LEN(B1:B8)>0))

如果您正在寻找 VB(A) 解决方案,这应该有效:

For i = 1 To 8
    'Replace mySheet and CellCount with the proper variables for your use
    If mySheet.Range("A" & i).Value2 = "A" And Len(mySheet.Range("B" & i)) > 0 Then
        CellCount = CellCount + 1
    End If
Next i
于 2013-04-18T16:40:02.547 回答