我有一个简单的问题,但我发现很难找到简单的解决方案。
我有一个尝试考试的学生数据集。我得到了学生证,考试成绩和就读日期的记录。下面的示例。
我想计算第一次通过的学生人数,而不必对数据进行排序,因为我的数据集非常大。
我将不胜感激。
非常感谢
答案 0 :(得分:2)
再多考虑一下之后,我意识到您只需要计算某人通过了多少个实例,并且没有针对同一个人的较早约会的考试。唯一的假设是您不能在同一天两次参加相同的考试,我认为这是合理的。
=SUMPRODUCT((B2:B11="Passed")*(COUNTIFS(A2:A11,A2:A11,C2:C11,"<"&C2:C11)=0))
我已将John的第一个结果更改为“失败”,以表明未计算在内。
以下是使用助手列分解为步骤的相同方法:
D2只是
=B2="Passed"
E2
=COUNTIFS(A$2:A$11,A2,C$2:C$11,"<"&C2)
F2
=E2=0
G2
=D2*F2
记住TRUE * TRUE = 1以及true和false = 0的任何其他组合。
所以各种情况都是
(1)在第2行中,John失败,因此尽管他以前没有考试,但G2的结果为0
(2)在第3行中,George已通过且没有以前的考试,因此G3中的结果为1
(3)在第5行中,约翰现在已通过,但参加了以前的考试,因此G5中的结果仍为0。
SUMPRODUCT实际上是一个数组公式。当某个条件中的条件本身是A2:A11和C2:C11之类的范围时,将对范围内的每对单元格(A2,C2然后是A3,C3等)重新评估其条件,并精确地生成一系列结果就像上面的E列一样,因此当乘以B2 =“ Passed”时,得出的结果与上面的G2列相同,并将它们加在一起得出最终计数。
答案 1 :(得分:1)