之前的推文中分享了如何利用随机函数实现平均分配数据,有爱动脑筋的小伙伴举一反三提问:是不是可以将公式变通一下,从而实现将所有人随机分组?
这种需求在圆桌讨论或年会做游戏的时候经常能用上,现在就来学一下吧。
案例:将下图 1 中 的人员随机分成 3 个部门,效果如下图 2 所示。
解决方案:1. 在 C2 单元格中输入以下公式 --> 下拉复制公式:
=RAND()
RAND 函数的作用是返回一个大于等于 0 且小于 1 的平均分布的随机实数。
2. 在 B2 单元格中输入以下公式 --> 下拉复制公式:
=ROUNDUP(RANK(C2,$C$2:$C$13,0)/4,0)
公式释义:
RANK(C2,$C$2:$C$13,0):
计算 C2 在区域 $C$2:$C$13 中的降序排名;
rank 函数的参数含义为 RANK(要排名的数字,排名的区域,[0 表示降序排列])
/4:将上述结果除以 4,也就是将原本 1 到 12 的排名数值同比例缩小了 4 倍,得到一组 1 到 3 之间的整数或小数;
ROUNDUP(...,0):对上述结果向上取整,小数位为 0 位小数,最后得到一组 1 至 3 的整数
* 请注意公式中的绝对和相对引用。
3. 复制 B 列,粘贴为值 --> 删除辅助列