能否用Excel编写贝格尔编排法16个队的函数算法?

摘 要:在学校教务处要经常组织大大小小的各种考试,每次考试都需要编排考号,尤其是当学生人数较多时工作量比较大,如果能做一个模板,以后每次考试只需做相应调整即可,这样编排考试考号就轻松得多。大家经常用Excel电子表格软件管理数据,可以借助Excel软件中的vlookup函数能巧妙解决这一难题。本文简单介绍Excel软件中的vlookup函数实现考号编排。关键词:Excel;vlookup;编排;考号一、情景创设现某校高( )年级有20个班,其中理科16个班,文科4个班,每个班50人,共1000人,考试编排考号时要求:①能够生成模板,以后每次考试可以根据考场大小任意设置考室人数。②每个考室可以根据考室大小变动人数,文理班分开编排。③每位学生产生一个四位考号,其中前两位代表考室,后两位代表座位号。④学生座位号可以根据上次考试成绩排或随机编排或学号等的升序或降序排列。二、方法与步骤(一)Vlookup函数的使用Vlookup是按列查找的纵向查找函数,最终返回该列所需查询列所对应的值。Vlookup函数的完整语法是这样的: Vlookup (lookup_value, ,col_index_num, range_lookup)即(查找值,区域,列序号,逻辑值),括号中lookup_value是查找值,可以是数值、文字字符串、或参照地址。 table_array是搜寻的区域范围。col_index_num是范围内的栏数。range_lookup是函数的精确和模糊查找,精确即完全一样,模糊即包含的意思,如果指定值是0或FALSE就表示精确查找,而值为1 或TRUE时则表示模糊。在使用VLOOKUP时不要把这个参数给漏掉了,如果缺少这个参数默为值为模糊查找。在本文中使用Vlookup (ROW()+0.001,参数设置!$B$2:$D$35,3)表示查找行号所对应的值,+0.001表示模糊查找,当它找不到ROW()+0.001这个行号时就返回参数设置中与之最接近行号的第3个即D列值。本文中分班考号,分考室考号都是利用Vlookup查找函数查询和读取姓名、班级、考号。(二)考号编排步骤1.建立四个工作簿,如图1所示:2.参数设置录入数据和定义公式参数设置用于设置每个考室人数。开始行号、结束行号表示在学生信息库中第几行,因此学生在学生信息库中的位置决定考号的相对位置。在B2输入“2”表示从学生信息库第二行开始,在B3输入“= C2+1”,下拉单元格至结束,在C2输入“=E2+B2-1”,下拉单元格至结束。如图2所示。3.学生信息库工作簿录入数据和定义公式选择学生信息库工作簿,A2输入公式“=IF(D2=分班考号!$F$1,COUNTIF(D$2:D2,D2),"")”,下拉单元格至结束,该公式用于关联分班考号。在E2输入公式“=IF(ROW()在F2输入公式“=COUNTIF(E$2:E2,E2)” , 下拉单元格至结束,该公式用于产生座位号。在G2输入公式“=RAND()” ,下拉单元格至结束。该公式用于产生随机函数,需注意的是当鼠标变动时随机函数会重新生成,为了避免变动,可以整列复制,然后选择性粘贴数值。在H2输入公式“=IF(LEN(F2)=1,MID(E2,2,2)&"0"&F2,IF(LEN(F2)=2,MID(E2,2,2)&F2,MID(E2,2,2)&F2))” ,下拉单元格至结束。该公式用于产生考室和座位合并编号,即四位考号。如图3所示。信息录入和定义公式后然后按照自己的要求排序(如考试成绩、随机函数、学号等),截图中是按学号升序排列。4.分班考号录工作薄入数据和定义公式选择分班考号工作薄, B4输入公式“=VLOOKUP($A4,学生信息库!$A$2:$G$1001,4,0)”,下拉单元格,C4输入“=VLOOKUP($A4,学生信息库!$A$2:$H$1001,2,0)”, 下拉单元格。该公式用于读取某班全部学生的考号。表格生成后,然后设置打印区域,让一个班的学生全部显示在一页上。如图4所示。5.分考室考号工作薄录入数据和定义公式选择“分考室考号” 工作薄A4输入公式“=IF(ISERROR(VLOOKUP(TEXT($C$1,"00")&TEXT(ROW()-3,"00"),学生信息库!$B$2:$H$1001,1,0)),"",VLOOKUP(TEXT($C$1,"00")&TEXT(ROW()-3,"00"),学生信息库!$B$2:$G$1001,1,0))”,然后下拉单元格。B4输入公式“=IF(ISERROR(VLOOKUP(TEXT($C$1,"00")&TEXT(ROW()-3,"00"),学生信息库!$B$2:$H$1001,3,0)),"", VLOOKUP(TEXT($C$1,"00")&TEXT(ROW()-3,"00"),学生信息库!$B$2:$H$1595,3,0)),然后下拉单元格。C4输入公式“=IF(ISERROR(VLOOKUP(TEXT($C$1,"00")&TEXT(ROW()-3,"00"),学生信息库!$B$2:$E$1001,4,0)),"", VLOOKUP(TEXT($C$1,"00")&TEXT(ROW()-3,"00"),学生信息库!$B$2:$E$1001,4,0)) ,然后下拉单元格。上述公式用于读取某考室全部学生的考号。表格生成后,然后设置打印区域,让一个考室的学生全部显示在一页上。如图5所示。注:文中公式编辑需在英文状态下输入,中文才转换中文状态结束语 以上是我在工作实践中总结的一些经验,写出来与大家一起分享,不足之处请批评指正。}

我要回帖

更多关于 贝格尔 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信