有没有随机分组的函数公式,可以把左边的人随机分成右边的排班?
群友提出了这样一个问题。
相信应该有很多朋友对这个问题感兴趣。今天,我将和你谈谈这个问题的解决方法。
问题说明随机分组问题的应用场景很多。
其实这是一个随机分组的问题。
我们需要把16个人分成8组,连续8天每天两个人。
需要随机组合,每个人只能出现一次。
仿真效果如下图所示。
实际数据远不止16个人,所以需要一个可以应用于批量分组的解决方案。
解决最低建议阈值最简单的方法是基本功能辅助栏。
从解决问题的角度来说,最好用最基本的技能去解决问题。
对于以上问题,建议使用辅助柱解决。
需要两个辅助列,如下所示:
辅助栏1:生成随机数。
=RAND()
辅助栏2:生成随机数的顺序(随机整数不重复)。
=RANK(A2,2:澳元17澳元)
辅助列2至关重要,从结果来看,相当于对原序号(c列)进行一次加扰和重排。
这是下一步生成排班表的基础。
至于非重复随机整数的生成,之前有教程,有兴趣的朋友可以看看,但是难度相当大。
【Excel公式教程】生成指定范围内不重复的随机整数,能理解这个公式吗?
完成并查看凌波微步。
接下来,使用B列获取最终日程。
方法很多,可以做几个常用的引用函数,比如VLOOKUP、OFFSET、INDEX、INDIRECT等等。
VLOOKUP函数的公式如下:
=VLOOKUP(ROW(A1)*8 COLUMN(A1)-8,$B:$D,3,)
将此公式向右下拉后,排班就完成了。
按F9会刷新,但无论如何变化,都不会有重名。
在这个公式中,关键是ROW(A1)*8 COLUMN(A1)-8,无论使用其他哪些函数,这都是必不可少的。