ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 66090|回复: 145

[原创] 中小学校新生分班程序

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-9-2 15:22 | 显示全部楼层 |阅读模式
优化了一下
分班问题.rar (33.54 KB, 下载次数: 1143)
抄了版主一段找空白的程序,放这里好找
Sub 试验()
With Range("数据区")
    .SpecialCells(xlCellTypeBlanks).Select  
    ActiveCell.Select
End With
End Sub

[ 本帖最后由 hupanshan 于 2010-1-27 12:11 编辑 ]

分班问题.rar

35.16 KB, 下载次数: 1495

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-9-2 16:38 | 显示全部楼层
支持hupanshan, 有用的就是好东西。
坚决顶一下。

大理兄,别光收藏呀,上分啦..... 哈哈。

TA的精华主题

TA的得分主题

发表于 2009-9-2 17:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-9-2 20:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-9-3 07:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 hupanshan 于 2009-9-2 15:22 发表
开学前,应网友要求搞了个小东西,有不少人都觉得还可以用,因此又整理得通用一点。
577129



呵呵,楼主也在校内混吗?

之前我也弄了一个,不知道效果如何。楼主有空交流一下算法啊。。。。


数学没学好。。。郁闷中。。。

[ 本帖最后由 fatboylsp 于 2009-9-26 21:04 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-3 12:48 | 显示全部楼层
谈不上算法,主导思想是每安排一个人就判断已安排人员的状况。选择班平均与总平均分差最大的科目,如果平均分高于总平均,就在未分人员中找一个低分的,否则就找一个高分的。如果男生多于女生,就找一个女生,反之找一个男生。这样,应该可以把分数最高和最低的先行处理,后处理的应该是分数居中的,以此逐步缩小各班差距。
你的文件有密码

[ 本帖最后由 hupanshan 于 2009-9-6 06:40 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-9-3 13:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 hupanshan 于 2009-9-3 12:48 发表
谈不上算法,主导思想是每安排一个人就判断已安排人员的状况。选择分差最大的科目,如果平均分高于总平均,就在未分人员中找一个低分的,否则就找一个高分的。如果男生多于女生,就找一个女生,反之找一个男生。这样 ...



我的分法比较简单:
1、从男生和女生里各挑25%比例的高分段和低分段人数出来做为一组(A),将剩余的男女生做为另一组(B)。
2、将A组的人按性别、总分高分(或低分)的方式排列排好,然后按分班数量为单位从这堆人里每班分一个学生进去,然后再按计算每个班各科的平均分,将最高和最低进行相减,最后在比较各科之间的最大差距是多少,取前三科差距最大的,按降序方式来排列下一轮待分配学生。
3、重复步骤2的方法去分B组的学生。
4、数学没学好,所以没找到更优的计算方法。由于数据的随机性,运算条件设置过多都可能导致误差更大,运算量更大。所以就简单的设置了优差生比例来尽可能使学生成绩呈现正态分布(呵呵,我对正态分布的理解就累是正弦曲线吧),其次为了协调学生的性别、高分、低分,所以通过设置性别、高分、低分的排列模式去分班。

对于已分配班级的学科平均分差距最大和待分配学生里下一轮分配学生的学科成绩最优的该如何联系起来,还有待研究一下。

密码主要防止误修改,可以在论坛里找个工具把它去掉就可以了。

TA的精华主题

TA的得分主题

发表于 2009-9-5 01:10 | 显示全部楼层
hupanshan老师,试用了您的分班程序后,对您能力和您无私奉献的精神,我真是佩服的五体投地。不过我发现,分班数少时,分得很平均,但是如果分班数较多时,班级总分的差距就会加大,不知道是什么原因?另外,请问老师,在您的这个基础上,可不可以加上男、女住校生平均分到班呢?我将我的分班格式一并发给你,能帮我设计一下吗?谢谢老师,我一定要向老师好好学习编程知识,仔细研究。

分班问题.rar

157.23 KB, 下载次数: 264

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-5 06:23 | 显示全部楼层
我用的是“凑平均分”的办法。差距大小并不是由于“班数”决定的,而是由各班人数决定的。试想一个极端的分配方案,一个班一个人,那么最高个人成绩和最低个人成绩的差异就成了总的最大差异。比如一个人总分300,另一个人总分100,差异就是200分。而如果人数多了,一方面可以高低互补,而且即使差得多了,一平均就少了。比如同样差200分,如果一个班100人,平均下来就成了2分。
关于住校生的问题,你可以占用“负担生”一栏,将住校生相应栏都填上 1 试试看。改这个程序主要是对准位置太费劲,一般情况下不想改了。
另外,我在一楼已经对程序进行了优化,效果好了一些。

TA的精华主题

TA的得分主题

发表于 2009-9-5 11:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感谢楼主无私奉献,分班这个问题让我头疼了很多年。一直以来,我都只能是人工进行分班,思路如下:
1、因外来务工子女就读比较多,而这一部份学生因流动性比较大,考虑班级的人数的稳定,先抽出这一部份学生。
2、本地学生再分出男女生,按总分降序,如果分成6个班级,男生按总分高低排名,1,2,3,4,5,6,6,5,4,   3,2,1。女生按总分高低,6,5,4,3,2,1,1,2,3,4,5,6。
3、同样将外来务工子发进行这样排序搭配。
4、最后对寄宿的学生进行调整,考虑总分相当的进行班级互换。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 19:32 , Processed in 0.042498 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表