EXCEL随机安排监考老师?没有制度也能实现!
一天,湖北武汉的廖老师向求助,希望在EXCEL中随机安排监考老师;
源数据表很长,要安排近300个会话:
图1:源数据
只有50多位老师可以监考:
图2:监考人员表
廖老师还提出了三个条件:
1-每个监考老师要尽量安排均匀;
2-老师不能是主监考;
3-同一考试时间段只能出现一次。
对于从未使用过高级系统的边肖技术新手来说,我们可以在EXCEL中随机安排考试吗?
答案肯定是肯定的!
边肖根据自己的技术能力进行了仔细的分析,并打算按以下步骤解决问题:
1-用randbetween函数随机生成每个老师监考场的次数;
2-使用查找功能生成所有监考人员名单,即按照上一步生成名单;
3-用rand函数和rank函数随机对所有监考老师进行排名;
3-使用查找功能提取与考场序号一致的监考老师姓名;
4-使用if函数验证重复安排考试和教师的规则。
思维导图是这样描述的:
图3:问题解决思路示意图
第一步——随机产生老师监考的次数。
今天一共288个小栗子,可能监考的老师只有53个。简单划分,人均监考人数为5.5人。让我们用randbetween函数随机生成它们。公式写如下:
=Randbetween(5,6)
生成下拉列表后,检查以下合计是否等于288,并有选择地将值粘贴到辅助列中:
图4:随机产生的监考人数
提示:随机数可能不会准确地产生考试名额的总数。可以刷几次或者粘贴手动干预。
建议将单据的公式计算方式改为手工计算,否则每次点击随机函数单元格都会重新计算。设置方法是依次在EXCEL选项中计算。
图5:公式计算方法设置路径示意图
第二步-随机生成监考人员名单。
接下来要根据每个老师的监考人数生成监考老师名单。转换成白话就是根据指定的数据为教师姓名列重复生成新的一列数据;
首先,我们在A列输入公式“=D2+A1”并向下填;输入公式" = if error (vlookup (row (a1),a: b,2,0),E3)& # 8221;”",向下填充,直到出现空白数据(实际得到288行数据):
图6:获取监考人员名单
接下来我们对每个参与监考的老师进行随机编号,用rand函数生成随机数,然后进行排序。公式是分开写的
=兰特()*100000
=RANK(G2,2美元:289美元)
图7:生成监考人的随机序列号
第三步-提取监考老师的名字。
接下来的工作很容易。我们用LOOK函数从监考表中提取出带对应序号的老师名字。公式是这样写的:
=LOOKUP(1,0/(Sheet1!$H$2:$H$289=H33),Sheet1!2美元:289美元)
图8:提取和验证
第4步-验证重复考试安排和监考规则。
刚才的截图可以看到验证过程。为了保证监考老师不参与监考和同一老师同一时间只监考一个考场规则,我们用if函数来验证一下:
=IF(D33=G33,& # 8221;教师不能监考& # 8221;,””)
=IF(AND(B33=B32,G33=G32),& # 8221;监考老师不堪重负& # 8221;,””)
即使是随机排序,也很难保证会有翻车,这就需要你的人工干预了:
图9:需要人工干预的数据
最后,动图提示你如何使用这一系列功能随机安排监考老师:
重点:根据经验,如果数据太多需要干预,你最好刷新重新生成随机序列号。最后看看我们随机监考的结果。是不是很有成就感?