使用Excel制作简单打分系统

今天一师弟在QQ上问了一个蛮有意思的题目:
五个老师为同学打分 如果有超过半数的老师对一个该同学的打分相同 例如都为第一名 则该同学为第一名 顺位法:评委依据评比标准对进入决赛的N个选手(或作品)进行从1至N的排序(排名次);
以5名评委,5个作品进行顺位法排名为例
两点说明:
1、 以“过半数”为计算前提,5个评委的“过半数”是3票,每个名次记录需在3票以上才为有效;
2、 每个评委的票面需依次给出1-5的名次,不得重复或漏填,否则试为废票
评委1排序 评委2排序 评委3排序 评委4排序 评委5排序 排序结果 最终名次
第1 第1-2 第1-3 第1-4 第1-5
选手1 1 1 2 1 3 3 1
选手2 2 3 1 2 2 4 2
选手3 4 2 4 5 5 3 4
选手4 3 4 3 4 1 3 3
选手5 5 5 5 3 4 5 5

初看到这题,我想到用C或者什么语言建立个数组,就差不多可以搞定,这师弟又提要求说想要用Excel搞定,当然,这个也是没有问题的。由Excel做,有三个问题必须要解决:
1)想办法找出来五个教师中重分最多的那个名次。
2)重分必须要大于等于三次。
3)每列所填入的名次不允许相同。
通过这样的思考,就把一个看似繁杂的问题化解为三个比较容易解决的小问题。不难看出,这三个小问题对应Excel中的三个功能(函数)
1->MODE()函数。
2->if()函数与COUNTIF()函数。
3->数据有效性。
自然,很简单的就可以写出表达式:“=IF(COUNTIF(E2:I2,MODE(E2:I2))>=3,MODE(E2:I2),”未满三票”)”
最后,附上这个完整的Excel文件,给有需要的童鞋吧。
点此下载.xls文件