Excel-获取数据集的第一条记录

时间:2019-06-19 14:27:34

标签: excel excel-formula

我有一个简单的问题,但我发现很难找到简单的解决方案。

我有一个尝试考试的学生数据集。我得到了学生证,考试成绩和就读日期的记录。下面的示例。

我想计算第一次通过的学生人数,而不必对数据进行排序,因为我的数据集非常大。

enter image description here

我将不胜感激。

非常感谢

2 个答案:

答案 0 :(得分:2)

再多考虑一下之后,我意识到您只需要计算某人通过了多少个实例,并且没有针对同一个人的较早约会的考试。唯一的假设是您不能在同一天两次参加相同的考试,我认为这是合理的。

=SUMPRODUCT((B2:B11="Passed")*(COUNTIFS(A2:A11,A2:A11,C2:C11,"<"&C2:C11)=0))

我已将John的第一个结果更改为“失败”,以表明未计算在内。

enter image description here

以下是使用助手列分解为步骤的相同方法:

enter image description here

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)

嗯,我尝试了您的示例数据:

enter image description here

单元格E2中的公式:

=SUM(--(FREQUENCY(IF((B2:B11="Passed")*(C2:C11=MINIFS(C2:C11,A2:A11,A2:A11)),MATCH(A2:A11,A2:A11,0)),ROW(A2:A11)-ROW(A2)+1)>0))

使用 Ctrl Shift Enter

输入为数组

说实话,我不会将其称为简单问题:)。好奇地看看是否还有其他直接方法。