使用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文件


发表评论

(必填)

(必填)

(以便回访)