excel vba 区域中同时符合两个条件的行数
A列为日期(区域),B列为名字(条件1),C列为成绩(条件2).要求在一定日期区域内,统计每一个人成绩优良次数。必须用excelvba函数(宏)完成。...
A 列为 日期(区域),B列为 名字(条件1),C列为成绩(条件2).
要求在一定日期区域内,统计每一个人成绩优良次数。
必须用excel vba 函数(宏)完成。 展开
要求在一定日期区域内,统计每一个人成绩优良次数。
必须用excel vba 函数(宏)完成。 展开
3个回答
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-11 · 知道合伙人软件行家
关注
展开全部
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)
=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)
追问
谢谢帮忙,但是我要的是VBA代码(宏代码)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用函数行不行,用VBA显得更复杂了
追问
必须用VBA代码,因为这个是我在编程的一个数据查询软件的一部分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询