EXCEL·关于随机分组的具体操作步骤·急用
公司有100人,准备随机分为4级参加活动。按照传统的做法是将每个人的名单打印出来,丢在一个箱子中,然后,几个人进行抽签分组。浪费纸张和人力不说,将名字切下来的过程很是痛苦,并且,分完组后,还要将名单再做一次整理,麻烦,真麻烦。爱偷懒的我就想,能不能用计算机帮助分组呢?经过尝试,最终用Excel实现了构想。以前可能要半天才完成的工作,现在在10分钟内可以轻松搞掂,需要分组的人数越多,其效率越明显。现说明如下,以供参考。 所用excel函数介绍:
1、rand():该函数为产生随机数的函数,产生的随机数为0-1之间。
2、if():逻辑函数。
3、and():逻辑运算函数。
4、countif():统计函数。
以上函数均为Excel本身所带函数,详细帮助可以在Excel中查询得到。
实现思路:
1.将需要分组的员工名单放入第一列中,然后,在第二列每位员工后面输入产生随机数的函数,即rand,这样,每位员工都会对应一个由随机函数产生的随机数。由于我们是需要分4组,而随机数的范围为0-1之间,因此,用该区间跨度除以4,即将0-1的区间分为4等份,可产生4个新的区间,即(0,0.25)(0.25,0.5)(0.5,0.75)(0.75,1)。
2.这时,IF函数,and函数就可组合起来使用对员工所对应的随机数进行判断了,将将判断结果放在第三列中。那么,countif函数做什么用呢?用它来对第三列的结果进行统计,看分到各个组的人数是多少。为什么要进行统计呢?因为,rand函数产生的结果,在分布上有可能会不均衡,即,可能会出现某个组的人特别少,某个组的人特别多的情况。
3.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、统计公式
说明:运算一次,第二列的随机数就会变化,那么,组号也会跟着变化,每组人
数也会跟着变化。由于最初的数据是由rand产生的,所以,其随机性是毫无怀疑的。
楼上两位多虑了吧,即使排序时C列的值又会重新计算一遍,但它们还是随机的,并不会影响打乱AB列原来的顺序,照样是将它们进行了随机排列了。
C1输入 =RAND()
D1输入 =RANK(C1,$C$1:$C$40)
E1输入 =INDEX(A:A,MATCH(ROW(A1),D:D,0),0)
F1输入 =VLOOKUP(E1,A:B,2,0)
选择C1:F1下拉,最后E1:F1就是随机的排序,每40行一组,也可以多加几个公式,把120行自动分成三列中,看自己要求~~