分享

安排学生考试座位

 凌碧昌 2011-07-01
在excel中有57个学生,按学号排序,如何实现给他们随机安排考试座位号
方法1
假如A列是学号1,2,3,……,57。B列是姓名,在C1中输入=rand(),向下拖拽填充柄至57,在C列产生随机数
0.564053156
0.226465042
0.074101238
0.79266365
0.04904085
0.268217066
再按C列排序,A列就是你要的随机安排考试座位号了。
方法2
1/在学号前插入两列,A列标题考证号,B列标题随机号,
2/在B2中输入公式=int(rand()*57),然后向下拉到第58行.
3/对B列进行排序
4/然后在A1输入1,按住ctrl向下拉到57,即可得到对应学员的考试号.
方法3
在工作表中按Alt+F11,打开VBA编程界面,在工具栏第二个图标拉下来,选模块
在左边栏双击“模块1”并在右边打开的程序书写区粘贴如下代码
Sub GetRnd()
Dim rn As Range
Dim rnn As Integer
Dim cRn As Range
Set rn = Selection
rn.ClearContents
rnn = rn.Cells.Count
For Each cRn In rn
Do
cRn = 1+Int(rnd() * rnn)
Loop Until Application.WorksheetFunction.CountIf(rn, cRn) = 1
Next
End Sub
现在回到工作表,假如你的学号在A1:A57,那么你就选中B1:B57或C1:C57(或D1:D57),反正只要是空的就行,然后按Alt+F8,在打开的对话窗口中选GetRnd并单击“执行”按钮,你就会在你选中的区域内看到一个随机的数序列。这就是学生的座位号。
这个程序有一点是比较通用的,不一定要拿来排座位,你如果选中12个单元格(无论是一列还是多列,也无论是一行还是多行),用Alt+F8运行它,它就自动会在这些格内产生1-12的不重复的随机数。
换句话说,就是选N格,就会在这N格内产生1-N的不重复的随机数。你还可以把它用到多种方面。即使下次你的班级是45个人了,你一样可以用它来随机排考座。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多