ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 教育应用:分班(Excel_VBA) 规范化通用化应对各种要求 的实现

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-8-2 16:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:其他编程应用
灰袍法师 发表于 2014-8-2 14:20
增加学科,只需要直接在旁边(或中间)增加数据列即可

程序对总列数没有限制,根据 C4 C5 C6 单元格去 ...

谢谢老师,这个分班程序太强大了。
只是界面不够明了,我修改了一下界面,请原谅。

TA的精华主题

TA的得分主题

发表于 2014-8-2 16:18 | 显示全部楼层
本帖最后由 jxndwxs 于 2014-8-2 16:30 编辑
灰袍法师 发表于 2014-8-2 14:20
增加学科,只需要直接在旁边(或中间)增加数据列即可

程序对总列数没有限制,根据 C4 C5 C6 单元格去 ...


附件如下:

按学科、性别均衡分班(可择班).rar (108.51 KB, 下载次数: 504)

TA的精华主题

TA的得分主题

发表于 2014-8-2 16:42 | 显示全部楼层
本帖最后由 灰袍法师 于 2014-8-2 17:10 编辑
wxnxl 发表于 2014-8-2 15:44
我自己增加了几列学科
麻烦老师帮我看一下,是什么原因,报类型不匹配错。

那是因为增加的行改变了原程序读取 输入数据 的位置,原程序固定在 C30 单元格读取输入数据。所以请不要增加新行也不要删除行,如果需要更多的结果显示,可以在别的表做。

此附件可以对你的数据正确分班,请注意优等生分班结果不理想,这是因为你给“优等生”的分值太低,只有1......,建议对于重要的特殊项目,分值至少不低于单科最高分,100-1000之间比较好。

反之,对于不大重要的特殊项目,可以降低其分值,不追求100%均衡。

另外,请注意多次运行结果的单元格,科目数量变化的时候,此单元格的公式也是要改的。

强大调班111.rar (51.34 KB, 下载次数: 301)

TA的精华主题

TA的得分主题

发表于 2014-8-2 19:35 | 显示全部楼层
灰袍法师 发表于 2014-8-2 16:42
那是因为增加的行改变了原程序读取 输入数据 的位置,原程序固定在 C30 单元格读取输入数据。所以请不要增 ...

法师大人,第28行的数字是怎么来的?有什么用的?怎么有的有公式,有的没有公式?谢谢。

TA的精华主题

TA的得分主题

发表于 2014-8-2 20:06 | 显示全部楼层
本帖最后由 灰袍法师 于 2014-8-2 20:10 编辑
张雄友 发表于 2014-8-2 19:35
法师大人,第28行的数字是怎么来的?有什么用的?怎么有的有公式,有的没有公式?谢谢。

第28行对程序运行无影响,只是运行以后,作为辅助单元格,为上面的简单统计表服务而已。

如果某列是科目分数,那么就不需要用到第28行,如果某列是人数(性别,特殊生等等),那么上面统计表的数组公式就会用到第28行来计算。

你大可以把第8到第28行全部清空(别整行删除吖),然后把多次运行改为 =1 ,一样能得到分班结果的。

当然,这时候要判断运行结果好不好,就得自己根据 A30 开始的 分班结果列 来做个报表了。(我其实比较建议这个做法,把报表放另一个工作表,看起来就没这么乱了)

TA的精华主题

TA的得分主题

发表于 2014-8-2 20:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
灰袍法师 发表于 2014-8-2 20:06
第28行对程序运行无影响,只是运行以后,作为辅助单元格,为上面的简单统计表服务而已。

如果某列是科 ...

法师大人,第53楼附件,为什么第 11 到 19 行的公式与  第 20 到26 行的数组公式不一样的?
C19单元:=SUM(IF(OFFSET($A$30,0,0,$C$4,1)=C$8,1,0)*OFFSET($L$30,0,0,$C$4,1))/C$9

C20单元:=SUM(IF(OFFSET($A$30,0,0,$C$4,1)=C$8,1,0)*OFFSET($M$30,0,0,$C$4,1))/$M28

TA的精华主题

TA的得分主题

发表于 2014-8-2 21:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
张雄友 发表于 2014-8-2 20:37
法师大人,第53楼附件,为什么第 11 到 19 行的公式与  第 20 到26 行的数组公式不一样的?
C19单元:=S ...

第一个数组公式是算每班平均分

第二个数组公式是算每班平均人数

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-8-2 23:27 | 显示全部楼层
强大,真强大,非常强大,真的很强大。

灰袍法师.rar

62.42 KB, 下载次数: 174

TA的精华主题

TA的得分主题

发表于 2014-8-3 20:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
之前没有考虑性别,给自己留个。8个优生,分8个班,保证每个班有一个优生。
各班人数最多偏差一人,性别最多偏差一人;平均分就不不必多言了。

灰袍法师.rar

62.79 KB, 下载次数: 274

点评

以后暑假就可以愉快地玩耍了,哈哈哈。  发表于 2014-8-3 20:18

TA的精华主题

TA的得分主题

发表于 2014-8-3 20:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
多谢造福人类的法师。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-26 15:27 , Processed in 0.051542 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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