国庆随机安排非重复性人员值班的人员如何获取排班表?
有没有一个随机分组的函数公式可以把左边的人随机分成右边的日程?
朋友提出了这样一个问题。
相信应该有很多朋友对这个问题感兴趣。今天,我就和大家聊聊这个问题的解决方法。
说明问题随机分组的应用场景很多。
其实这是一个随机分组的问题。
16个人需要分成8组,每天两个人,连续8天。
要求随机组合,每人只能出现一次。
模拟效果如下图所示。
实际数据远不止16人,所以需要一个可以应用于批量分组的解决方案。
建议求解最低阈值最简单的方法是基本函数+辅助列。
从解决问题的角度来说,最好是用最基本的技巧来解决问题。
对于以上问题,建议使用辅助柱来解决。
需要两个辅助列,如下所示:
辅助栏1:生成随机数
=兰特()
辅助列2:生成随机数的排序(没有重复的随机整数)
=RANK(A2,$A$2:$A$17)
辅助柱2是关键。从结果来看,相当于把原来的序号(C列)重新排列一次。
这是下一步生成计划的基础。
关于不重复随机整数的生成,之前有教程。有兴趣的朋友可以看看,不过还是挺难的。
【Excel公式教程】生成指定范围内不重复的随机整数。你能理解这个公式吗?
另见Lingbo微步完成。
接下来,使用B列获得最终的时间表。
方法很多,可以做几个常用的引用函数,比如VLOOKUP,OFFSET,INDEX,INDIRECT等等。
下面是VLOOKUP函数的公式:
=VLOOKUP(行(A1)* 8+列(A1)-8,$B:$D,3,)
把这个公式拉到右边,调度表就完成了。
按F9刷新,但是无论怎么改,重名都不会出现。
在这个公式中,key是ROW(A1)*8+COLUMN(A1)-8的部分,无论使用其他哪个函数,都是必不可少的。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。