我有一张学生的成绩单,在那里我计算了学生获得的总数。接下来,我想根据总数对它们进行排名,无论它在哪里重复,学生在数学中获得更多数字(E9:E58)都将优先考虑,
如何完成它?
我的总成绩从U9到U58,数学成绩从d9到d58。
我使用过这个公式:
=Rank(u9,u9:u58,1)
我陷入了如何在排名功能中使用if条件。
请帮忙。
提前致谢....
答案 0 :(得分:1)
在这种情况下,一种调整方法是使用SUMPRODUCT
函数。您需要使我的示例适应您的数据范围。在下面的示例中,您不需要E:F列。它们只在那里,所以你可以更好地了解如何完成调整。
=SUMPRODUCT((C2=Totals)*(B2>Maths))
D2: =RANK(C2,Totals,1)+SUMPRODUCT((C2=Totals)*(B2>Maths))
答案 1 :(得分:1)
假设,总得分为Column U
,数学得分为Column E,
,您可以使用Ron的解决方案:
=RANK(U9,U$9:U$58)+SUMPRODUCT((U$9:U$58=U9)*(E$9:E$58<E9))
在要显示Rank的列的第9行中输入上面的公式,然后将其向下拖动/复制到第58行。
答案 2 :(得分:0)
这更多是算术方法。我会添加一个名为adjust total的列。
AdjTotal = Total + (Maths Score / Max possible Maths Score) * 0.9
然后使用此调整后的得分列进行排名。
调整将在总数的1以下添加一小部分,并在有一个时帮助打破平局。由于调整永远不会超过0.9,因此在没有平局时不会影响排名。
假设数学的最高得分为100,请使用此
V9 = U9 + D9/100*0.9
将V2复制到V59
W9 = RANK(V9, V$9:V$59, 1)
复制W9。
答案 3 :(得分:0)
您可以通过运行通常的 RANK()
方法,然后将 RANK()
方法添加到与当前行相关联的其他行匹配的过滤集上来实现。由于对决胜局的 RANK()
呼叫将从 1 开始,因此您需要减去 1 以进行补偿。
最终结果看起来像:
=RANK(U9, U$9:U$58, 1) + RANK(D9, FILTER(D$9:D$58, U$9:U$58=U9)) - 1