如何用Excel排考场,要求:每个考场30人,每排4人,前后左右都不是本班学生。

如题所述

首先在第一例输入1,2,3,4,5,1,2,3。有几个班就输入几个,把第一例排满。第二列输入公式:=IF(A1<5,A1+1,IF(A1=5,1,ABS(A1-5))) å…¶ä¸­çš„5是指5个班,有几个班改成数字几。然后向后向下填充。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-16

给你个参考方案,按列编排,本班的间隔放置

第2个回答  2012-05-16
如要准确排位要用VBA写程序,这里提供一个简单方法:
一、先将每个班的学生学号、姓名加随机数进行排列,在班内随机打散;
二、增加在级的序号列,以班的数量倍数递增,如有5个班,一班的序号为1、6、11等,二班为2、7、12等,全年级各班的学生都编排上年级的序号;
三、将全年级的学生合到一个表SHEET1中,内容有年级序号、学号、学生姓名等列,按年级的序号排序,这时各班学生按顺序间隔排列;
四、将SHEET1中资料每次顺序复制30个学生资料到SHEET2的JKL列,
如果年级为非4个班或4的倍数个班时,输入下列公式 ,并下拉至8行,分别拉出学生学号和姓名
A1=VLOOKUP((ROW()-1)*4+1,$J:$L,2,0)
B1=VLOOKUP((ROW()-1)*4+1,$J:$L,3,0)
C1=VLOOKUP((ROW()-1)*4+2,$J:$L,2,0)
D1=VLOOKUP((ROW()-1)*4+2,$J:$L,3,0)
E1=VLOOKUP((ROW()-1)*4+3,$J:$L,2,0)
F1=VLOOKUP((ROW()-1)*4+3,$J:$L,3,0)
G1=VLOOKUP((ROW()-1)*4+4,$J:$L,2,0)
H1=VLOOKUP((ROW()-1)*4+4,$J:$L,3,0)
如果年级为4个班或4的倍数个班时,输入下列公式 ,并下拉至8行,分别拉出学生学号和姓名
A1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4),$J:$L,2,0)
B1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4),$J:$L,3,0)
C1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4)+1,$J:$L,2,0)
D1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4)+1,$J:$L,3,0)
E1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4)+2,$J:$L,2,0)
F1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4)+2,$J:$L,3,0)
G1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4)+3,$J:$L,2,0)
H1=VLOOKUP((ROW()-1)*4+MOD(ROW(),4)+3,$J:$L,3,0)
五、因为30非4的倍数,所以最后一行有四个错误,请删除。
六、排好的座位请复制选择性数值粘贴到新的工作表,并加上试室名称编号,座位编号等。
相似回答