诡境秘踪更完了吗:巧用Excel实函数现随机分组

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 01:03:39
巧用Excel实现随机分组
公司有100人,准备随机分为4级参加活动。按照传统的做法是将每个人的名单打印出来,丢在一个箱子中,然后,几个人进行抽签分组。浪费纸张和人力不说,将名字切下来的过程很是痛苦,并且,分完组后,还要将名单再做一次整理,麻烦,真麻烦。爱偷懒的我就想,能不能用计算机帮助分组呢?经过尝试,最终用Excel实现了构想。以前可能要半天才完成的工作,现在在10分钟内可以轻松搞掂,需要分组的人数越多,其效率越明显。现说明如下,以供参考。
所用excel函数介绍:
1、rand():该函数为产生随机数的函数,产生的随机数为0-1之间。
2、if():逻辑函数。
3、and():逻辑运算函数。
4、countif():统计函数。
以上函数均为Excel本身所带函数,详细帮助可以在Excel中查询得到。这里不再详述。只是告诉大家,会用到这几个函数。怎么用呢?别急,往下看。
实现思路:
将需要分组的员工名单放入第一列中,然后,在第二列每位员工后面输入产生随机数的函数,即rand,这样,每位员工都会对应一个由随机函数产生的随机数。由于我们是需要分4组,而随机数的范围为0-1之间,因此,用该区间跨度除以4,即将0-1的区间分为4等份,可产生4个新的区间,即(0,0.25)(0.25,0.5)(0.5,0.75)(0.75,1)。聪明的你,应该明白下一步是判断每位员工所对应的随机数落在哪个区间了吧?这时,IF函数,and函数就可组合起来使用对员工所对应的随机数进行判断了,将将判断结果放在第三列中。那么,countif函数做什么用呢?用它来对第三列的结果进行统计,看分到各个组的人数是多少。为什么要进行统计呢?因为,rand函数产生的结果,在分布上有可能会不均衡,即,可能会出现某个组的人特别少,某个组的人特别多的情况。发现这种情况怎么办呢?不要急。Rand函数会随着整个表格的计算而重新计算。因此,你随意在表格的某个空白栏输入一个数字,一回车,rand就重新计算一次,产生不同的随机结果,自然,countif的统计结果也会发生变化。一直到你认为基本均衡为止。
举例说明
1、公式
姓名
随机数
组号
农民
=RAND()
=IF(B2<0.25,1,IF(AND(B2>0.25,B2<0.5),2,IF(AND(B2>0.5,B2<0.75),3,4)))
2、结果(上面公式对应的结果)
姓名
随机数
组号
农民
0.915255
4
3、统计公式
第一组
=COUNTIF($C$2:$C$43,"=1")
第二组
=COUNTIF($C$2:$C$43,"=2")
第三组
=COUNTIF($C$2:$C$43,"=3")
第四组
=COUNTIF($C$2:$C$43,"=4")
说明:运算一次,第二列的随机数就会变化,那么,组号也会跟着变化,每组人数也会跟着变化。由于最初的数据是由rand产生的,所以,其随机性是毫无怀疑的。
最后的工作:
当分组到你满意的状况时,你可以将全选,然后选择复制,在另一个新开的表中,用选择性粘贴功能中的值和数字格式,将结果给保存下来。然后,用排序功能,将每组人员名单放在一起,一打印出来就解决所有的问题了。