excel按名次排座位,已知学生的成绩排名1-720名;学生的班级1-12和姓名。现在要按15个考场48人排位。

希望按排名分别排入1-15个考场,即1-48名第一考场,但是要求前后座位的都不是同一个班级的。有没有什么ECELL函数可以应用。或者说:1-720名次排列时,如何让同一班级的不在一起。求此类函数。

这个问题与成绩排名没有关系,主要是解决一个考场内,每个学生的前后左右没有自己班的。
可以参照二楼的方法:
1.选择你的表格数据区,排序:按班级作为第一条件排序,学生成绩为第二条件排序;
2.再依次取数,一个班取一个学生,依次上12个班的第1名,接着取12个班的第2名,又取取12个班的第3名,再取12个班的第4名。这就是第一考场的48名学生,成绩也是排在前面的,这能保证每个学生前后左右没有自己班的。
3.同样的方法,依次取第个班的第5到第8名,是第二考场的学生;一直到取出所有考场的学生。这样就能保证每个考场的每个学生的前后左右没有自己班的,而且成绩排在前面的,安排在前面的考场。

根据1排好序的学生,可以用函数自动把每个考场的学生取出来。
其实,不用函数和公式也能办到:
加1列,考场列,第一个班第1 名学生的考场是1考场,输入1,以序列方式下拉到48,分到48个考场。复制这个1~48的序列,粘贴到每个班(12个班粘贴11次)。如果觉得粘贴麻烦,就在第1个输入:
=IF(MOD(ROW(A1),48)=0,48,MOD(ROW(A1),48))
拖动下拉或填充到最后一行。
现按考场筛选,每个考场的学生都出来了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-17
没有这样的函数,但是可用下面的办法:把每个班级的学生都依次输入到表格中,每个班级排一个学号,从1到n,然后按学号排序,这是所有班级学号为1的在一起,学号为2的在一起,然后再按要求分班考试。有个别的考场如尾试场等可以先检查一下。
第2个回答  2011-04-17
举个极端的例子,要是前48名都是一个班的那你的条件就不可能达得到啊。。。
而且只用管前后?不管左右?追问

所以我后面有说,1~720的排名如何保证前后不是一个班的,但基本按名次顺序排列。

追答

那我这么理解你的意思可以不?
前48名必须在第一个考场,而在这个考场内的排序就以“前后不是同一个班”这个条件为第一条件,名次为第二条件。且由我举的那个极端例子可以说明不可能完全保证前后不是一个班。也就是说最大限度前后不是一班就行。。。

追问

是的,你说的没错。

相似回答