我需要计算一个字符串出现在一个范围内的次数,但仅限于下一个单元格不为空时。
A 1
B 5
D 4
A
G 1
B 4
B 8
D
所以我想要A-> 1,B-> 3,D-> 1,G-> 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