复赛和排名(分组排名)_四舍五入

 

问题1:按不同科目进行排名

函数公式解决:

=SUM(1*IF(B$2:B$25=B2,C$2:C$25>=C2))

此公式不受BC两列顺序的影响

问题2:排名前30%的可以参加复赛

函数公式解决:

=IF(SUM(1*IF(B$2:B$25=B2,C$2:C$25>=C2))<=ROUND(COUNTIF(B:B,B2)*0.3,),"是","")

利用Countif(B:B,B2)*0.3获得前30%的人数,再利用Round函数四舍五入为整数

当小排名的结果小于等于前30%的人数时,结果为“是”,可以参加复赛,否则返回空文本

问题3:大排名,第1名为1,第2、3、4名为2,其他不计排名

函数公式解决:

=LOOKUP(SUM(1*IF(B$2:B$25=B2,C$2:C$25>=C2)),{1,1;2,2;3,2;4,2;5,""})

Lookup函数第二参数如下图

复赛和排名(分组排名)_四舍五入_02

利用Lookup查找法,让小排名的结果返回第二列 

原博客各种作……所以换阵地了,不过每篇都搬过来,实在有点累,想看就自己看吧:http://blog.sina.com.cn/pureiceshadow