精选问答
怎么用excel函数做出一份选手成绩排名表,并自动判断一、二、三等奖?如题,现在有十名选手,5名评委打分,以评委打分的平均分为依据进行排名,如果成绩相同,则方差较小的选手名次靠前,如果成绩、方差都相同则名次并列.最后评出一等奖1名,二等奖2名,3等奖3名,如果前6名中有一人以上名次并列,则两人都获相同奖项,且只占一个奖项名额.例如10人的(成绩,方差)依次是(90,3),(90,3),(90,5),(85,2),(83,3),(82,2),(70,4),(68,4),(65,3),(60,5),则一等奖实

2020-05-31

怎么用excel函数做出一份选手成绩排名表,并自动判断一、二、三等奖?
如题,现在有十名选手,5名评委打分,以评委打分的平均分为依据进行排名,如果成绩相同,则方差较小的选手名次靠前,如果成绩、方差都相同则名次并列.最后评出一等奖1名,二等奖2名,3等奖3名,如果前6名中有一人以上名次并列,则两人都获相同奖项,且只占一个奖项名额.例如10人的(成绩,方差)依次是(90,3),(90,3),(90,5),(85,2),(83,3),(82,2),(70,4),(68,4),(65,3),(60,5),则一等奖实际上由两个(90,3)的获得,二等奖是第3、4、5人获得,此次类推.
由于比赛时间紧张,没有多少时间手动计算,只好提前做好一张excel表,想把分数输入进去就直接出结果,但是怎么实现判断奖项这个功能?
可以用函数、宏等等,方式不限
优质解答
用辅助列.
A列是选手姓名、B列是成绩、C列是方差,数据从第2行起(第2~11行,不用先排序):
在D2(辅助列)输入
=RANK(B2,B:B,1)-C2/10
E2输入
=IF(SUMPRODUCT((D$2:D$11>=D2)/COUNTIF(D$2:D$11,D$2:D$11))=1,"一等奖",IF(SUMPRODUCT((D$2:D$11>=D2)/COUNTIF(D$2:D$11,D$2:D$11))=D2)/COUNTIF(D$2:D$11,D$2:D$11))
用辅助列.
A列是选手姓名、B列是成绩、C列是方差,数据从第2行起(第2~11行,不用先排序):
在D2(辅助列)输入
=RANK(B2,B:B,1)-C2/10
E2输入
=IF(SUMPRODUCT((D$2:D$11>=D2)/COUNTIF(D$2:D$11,D$2:D$11))=1,"一等奖",IF(SUMPRODUCT((D$2:D$11>=D2)/COUNTIF(D$2:D$11,D$2:D$11))=D2)/COUNTIF(D$2:D$11,D$2:D$11))
相关问答