《利用EXCEL进行快速分班的技巧》由会员分享,可在线阅读,更多相关《利用EXCEL进行快速分班的技巧(4页珍藏版)》请在金锄头文库上搜索。
1、利用利用 Excel 进行快速分班的技巧进行快速分班的技巧 每逢新学年开学之前 很多学校都面临着一项重要的工作 学生分班 分班也就成为 教学管理信息化的一个重要话题 分班的依据是学生的考试成绩 总体要求是班级间各学科 的总分或平均成绩要互相接近 利用 Excel 可以大大提高工作效率 下面以某中学高一新生 分班为例 谈谈如何利用 Excel 中的若干方法进行快速分班 处理思路 XXX 中学高中部今年招收了 689 名新生 为了保证各个班级的学生的学习 成绩大致平均 学校准备依照学生的中考成绩的名次采用 蛇形 分班法 即按表 1 所示的方 式分成 12 个教学班 表 1 分班办法 首先将学生情况
2、及成绩调入 Excel 工作表中 计算学生名次 先把 D4 D692 单元格 区域命名为 中考成绩 然后在 E4 单元格中输入 RANK D4 中考成绩 或者直接输入 RANK D4 D 4 D 692 并为学生名次排序 然后划分班级 分别用以下五种方法计算每个学生应属班级 如图 1 所示 一 利用复制填充 在 G4 单元格键入 1 班 拖动单元格右下角的填充柄向下填充到 G15 得到 1 班 12 班 在 G16 G17 分别键入 12 班 11 班 并同时选中 G16 G17 单元格并拖动填充柄 填充至 G27 得到 12 班 1 班 选中 G4 至 G27 并拖动填充柄或复制粘帖至单元格
3、 G692 结束 此方法虽然用法简单 但是每当班数变化时就必须重复这些步骤 二 利用自定义序列自动填充 1 选择菜单 工具 选项 在弹出的对话框中单击 自定义序列 标签 在左侧小窗口中 单击 新序列 在右侧小窗口中输入 12 班 11 班 10 班 9 班 8 班 7 班 6 班 5 班 4 班 3 班 2 班 1 班 1 班 2 班 3 班 4 班 5 班 6 班 7 班 8 班 9 班 10 班 11 班 12 班 注意序列是 12 班 1 班 1 班 12 班 输入完毕 单击 添加 按钮并 确定 退出 如图 2 2 在 G4 第一名同学 班级 所在的单元格 中输入 1 班 后 用鼠标左键
4、双击 G4 单元格 右下角的控点 即可自动得出全部学生的班号 三 利用多层嵌套的 Excel 函数 1 将 G2 单元格命名为 班级数 并输入我们想要的班级数目 12 2 在 G4 单元格内输入公式 IF MOD ROW 3 班数 0 IF MOD ROW 3 班 级数 2 0 1 班级数 IF MOD INT ROW 3 班级数 2 0 MOD ROW 3 班级数 班级 数 1 MOD ROW 3 班级数 并拖动填充柄将此单元格填充到 G5 G692 在输入公式 时 除汉字而外 所有字符一律要在英文输入状态下输入 且不要加进空格 3 选择 G4 G692 单元格区域 选择 设置单元格格式 在
5、 数字 选项卡中的 分类 列表中选择 自定义 并在类型文本框中输入 班 可以发现 G 列的数据后 出现了 班 字样 注意 如果分 16 个班 则将 G2 单元格改为 16 即可 四 利用多层嵌套的 Excel 函数另外一种方法 先在 G4 单元格输入 1 G5 单元格输入 2 在 G6 单元格输入公式 IF G5 G4 1 IF G5 12 G5 G5 1 IF G5 G4 1 IF G5 1 G5 G5 1 IF G5 12 G5 1 G5 1 G7 G692 单元格直接复制 G6 的公式即可 将鼠标移至 G6 单元格的右下角的复制 点 鼠标变成实心十字时往下拖动鼠标到 G692 单元格 到
6、此 分班就做好了 但不能按 照 班级 列排序 因为此列包含公式 公式解释 G6 单元格主要根据上面两个单元格 即 G5 G4 来判断 G5 G4 有三 种可能 即等于 1 等于 1 和等于 0 1 等于 1 的话 如果 G5 已经是 12 即最后一个班 那么 G6 就等于 12 即与 G5 相 同 否则的话 G6 就等于 G5 1 即递增 2 等于 1 的话 如果 G5 已经是 1 即第 1 个班 那么 G6 就等于 1 即与 G5 相同 否则的话 G6 就等于 G5 1 即递减 3 等于 0 的话 如果 G5 已经是 12 即最后一个班 那么 G6 就等于 G5 1 即递 减 否则 G5 就
7、是 1 即第 1 个班 那么 G6 就等于 G5 1 即递增 2 可以先选定 G4 G692 单元格 点 编辑 菜单的 复制 再选定 H4 单元格 点 编 辑 菜单的 选择性粘贴 在弹出的对话框中选 数值 再点 确定 即可 3 删除 班级 列 再按 班级转换 列排序 同一个班的学生就排在一起了 注意 如果分 16 个班 则将 G6 单元格公式中的两个 G5 12 改为 G5 16 分 M 个 班就改成 G5 M 以上方法如果要考虑入学成绩 总分 和男女人数的匀称搭配可首先用数据菜单里的 排 序 命令将所有的名单按主关键词 性别 次要关键词 成绩 作一次降序排序 再使用上述方 法 五 利用 Ex
8、cel 提供的 VBA 编程可以快速分班 VBA 全称为 Visual Basic For Application 以高级程序设计语言 Visual Basic 为内核 与 EXCEL 函数有机结合 功能强大 通过创建 宏 将烦琐和重复的数据处理过程交给程 序代码自动完成 1 首先在 EXCEL 软件中 按 姓名 性别 总分 班级 的字段顺序建立学生分班成 绩表 假定命名为 分班数据表 其中 班级 字段的各单元格为空 留待运行宏代码时自 动填入分班结果 为保证分班后各班同一分数段男女生数的平衡 先将 分班数据表 按 性别 主关键字 总分 次关键字 递减排序 2 在 分班数据表 中创建名为 分班
9、 的宏 具体代码如下 Sub 分班 Rem 定义变量 Dim i j k n bs xks num s t max z x As Integer Dim bj 500 sum 10 10 cj 500 10 maxs 10 mins 10 As Integer Dim sc 10 minb 10 xsbj 10 bjbj 10 As Integer Rem 读入数据及变量初始化 bs Val InputBox 请输入班级数 Worksheets 分班数据 Activate n 0 Do While Not IsEmpty Cells 1 n 1 n n 1 Loop xks n 4 n 0 k
10、 2 Do While Not IsEmpty Cells k 2 n n 1 For i 1 To xks cj n i Cells k i 3 Next i k k 1 Loop For i 1 To bs For j 1 To xks sum i j 0 Next j i Rem 数据处理 num 0 Do While num bs n If n num 1 bs maxs i Then maxs i sum j i If bjbj j 0 And sum j i mins i Then mins i sum j i minb i j Next j i For i 1 To xks sc
11、 i maxs i mins i Next i max sc 1 s 1 For i 2 To xks If max sc i Then max sc i s i End If Next i max 1 For i 1 To z If xsbj i 0 And max cj i s Then max cj i s t i Next i xsbj t 1 bj num bs 1 minb s x minb s For i 1 To xks sum x i sum x i cj t i Next i bjbj x 1 Next k num num 1 Loop Rem 将分班结果输入 EXCEL 表格 班级 字段 For i j To n Cells i 1 1 bj i Next i End Sub 3 执行宏后 对 分班数据表 按班级序号递增排序 即完成任务 正确利用 EXCEL 数据填充 单元数据引用 公式与函数以及通过 EXCEL 宏编程 将 烦琐和重复的数据处理过程变得轻松愉快 事半功倍