例如,我需要根据总分(C
列)和数学较高分(B
列)创建少数学生的成绩单 -
A B C D
-------------------------
Student1 80 220 1
Student2 88 180 3
Student3 90 180 2
预期的优点位置在D
列中给出。
我可以使用RANK
函数,但我只能对一列(总数)执行此操作。如果多个学生的总数相等,我找不到任何解决方案。
最佳答案
您可以在D1中尝试这个
=COUNTIF($C$1:$C$99,">"&C1)+1+SUMPRODUCT(--($C$1:$C$99=C1),--($B$1:$B$99>B1))
然后复制/填写。 让我知道这是否有帮助。
说明
您的第一个条件位于C 列,第二个条件位于B 列。
基本上,它首先计算大于条目本身 ($C1) 的条目 ($C$1:$C$99) 数量。对于排名中的第一个,您将得到零,因此您需要为每个结果添加1(+1)。
到目前为止,如果您两次具有相同的值,您将获得重复的排名。
因此,您需要添加另一个参数来根据第二个条件进行一些额外的计算:
要解决平局情况,您需要sumproduct
两个数组公式并将结果添加到前一个参数中,目标是找到与 $C$1:$C$99=C1 等于此条目的条目数,并且在第二个条件列$B$1:$B$99>B1:
您添加--来转换TRUE
和 FALSE
为 0 和 1,以便您可以将它们相乘:
SUMPRODUCT(--($C$1:$C$99=C1),--($B$1:$B$99>B1))
第一个数组用于查看第一个条件中有多少个关系。第二个数组是查找比条目本身更大的值的数量。
注意您可以在列中添加任意数量的条目,但请记住更新公式中的范围,当前设置为99,您可以将其扩展到所需的行数。
关于excel - Excel 中具有多个标准的排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30141779/