excel vba 区域中同时符合两个条件的行数

2025-02-23 14:47:41
推荐回答(3个)
回答1:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim d1, d2 As Date
d1 = Cells(2, 5).Value '日期1
d2 = Cells(2, 6).Value'日期2,要求日期1=<日期2
Dim rm, cj
rm = Cells(2, 7)'条件人名
cj = Cells(2, 8)'条件成绩
i = Sheet1.Range("a65536").End(xlUp).Row '行数
b = 0
For k = 2 To i
If Range("A" & k).Value >= d1 And Range("A" & k).Value <= d2 And Range("B" & k) = rm And Range("C" & k) = cj Then
b = b + 1
End If
Next
Cells(2, 9) = b
End Sub

回答2:

I2单元格输入公式
=sumproduct((A2:A1000>=E2)*(A2:A1000<=F2)*(B2=G2)*(C2:C1000=H2))

2010里面可以用公式
=countifs(A:A,">="&E2,A:A,"<="&E2,B:B,G2,C:C,H2)

回答3:

直接用函数行不行,用VBA显得更复杂了