Countif与下一个单元格不是空的

时间:2013-04-18 15:53:58

标签: vb.net excel excel-2007

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

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

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

我该怎么做?

1 个答案:

答案 0 :(得分: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