Excel VBA实行学校S形分班的自定义函数
今天送给学校教务同志的一个福利,分班,手工变自动化
【问题】学校总会按学生的成绩名次进行S形分班,如下图
【通常做法】手工做很困难
【解决方法】用VBA解决
我们的目标是:根据学生的成绩“名次”自动输入“班别”
写一个自定义函数
'自定义S形分班函数
'使用方法 =fenban(名次,总班数)
Functionfenban(mc, ban_total)
Dim jo, jg, cs, ys
mc = mc - 1
cs = Int((mc / ban_total))
ys = mc Mod ban_total
jo = cs Mod 2
If jo = 0 Then
jg = ys 1
Else
jg = ban_total - ys
End If
fenban = jg
End Function
【使用方法】
1.开发工具—VB—右键插入一个模块----复制代码放入
2.回到Excel工作表中在c3=fenban(b3,7)(说明:7是分班的总班数,如果你是分12班就输入12),下拉就可以啦
【本方法缺点】本方法只考虑学生的名次,没能考虑到学生的性别,希望下一次学习能解决这个问题,哈哈哈
======今天学习到此=======