office教程office教程

office办公学习网
office办公学习网(www.168361.com)是自己整理的一些文章,用于自己学习office使用,如果侵犯了您的版权,请联系我们删除。网站包含office/word/wps等使用技巧大全全集,office百科全书

国庆值班随机安排不重复人员该怎么弄排班表?

有没有随机分组的函数公式 能把左边的人员随机分到右边的排班表里?

群友提了这样一个问题。

相信对这个问题感兴趣的朋友应该不少,今天就这个问题和大家聊聊解决思路。

问题说明随机分组问题的应用场景其实很多

其实这是一个随机分组的问题。

需要将16个人分为8组,每天两个人,连续8天。

要求随机组合,并且每个人只能出现一次。

模拟效果如下图所示。

国庆值班随机安排不重复人员该怎么弄排班表?第1张
 

实际数据远不止16个人,所以需要能够应用于批量分组的解决方案。

解决建议门槛最低最容易掌握的方法就是基础函数+辅助列

在解决问题的角度来说,能用最基础的技能解决是最好的。

对于上述问题,推荐使用辅助列解决。

需要两个辅助列,具体如下:

辅助列1:生成随机数

=RAND()

辅助列2:生成随机数的排序(不重复随机整数)

=RANK(A2,$A$2:$A$17)

国庆值班随机安排不重复人员该怎么弄排班表?第2张
 

辅助列2是比较关键的,从结果来看,相当于把原有的序号(C列)打乱重排了一次。

这是下一步生成排班表的依据。

关于不重复随机整数的生成,之前有一篇教程,有兴趣的朋友可以看看,还是比较有难度的。

【Excel公式教程】生成指定范围不重复随机整数,这个公式你看得懂么?

完成又见凌波微步

接下来要用B列,得到最终的排班表。

方法比较多,常用的几个引用函数都可以搞定,例如VLOOKUP、OFFSET、INDEX、INDIRECT等等。

以下给出一个VLOOKUP函数的公式:

=VLOOKUP(ROW(A1)*8+COLUMN(A1)-8,$B:$D,3,)

国庆值班随机安排不重复人员该怎么弄排班表?第3张
 

将这个公式右拉下拉后排班表就完成了。

按F9会刷新,但不管怎么变化,都不会出现重名的情况。

在这个公式中,关键是ROW(A1)*8+COLUMN(A1)-8这部分,不管用其他几个函数中的哪个,这部分都少不了。

标签: rank函数, rank函数怎么用, rank函数的使用方法, rank函数的用法, rank排名函数, Excel函数

本文链接:http://168361.com/excel/159.html

版权声明:内容均来源于互联网 如有侵权联系删除

最后编辑于:2021-05-21作者: excel教程

你会统计排名吗?
RANK用法介绍