我需要计算一个字符串在一个范围内出现的次数,但前提是下一个单元格不为空。
A 1
B 5
D 4
A
G 1
B 4
B 8
D
所以我想要 A->1, B->3, D->1, G->1
我怎样才能做到这一点?
我需要计算一个字符串在一个范围内出现的次数,但前提是下一个单元格不为空。
A 1
B 5
D 4
A
G 1
B 4
B 8
D
所以我想要 A->1, B->3, D->1, G->1
我怎样才能做到这一点?
如果您正在寻找单元格公式,这应该可以满足您的需求:
=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