如何实现员工排班自动化

如何实现员工排班自动化

我想创建一个 excel 文件

  • 我的所有员工(第 1 至 24 行)
  • 以及所有工作日(从 B 列 (01.0.2021) 到 NB (31.12.2021))

每个工作日我都需要 5 名员工接听电话,所以我想使用随机器选择当天的 5 个人。第二天随机器会选择另一组 5 个人,但应该排除昨天的 5 个人,依此类推。

理想情况下,它会生成一种日历,人们可以通过它查看自己是否在值班。有点像图中所示(图片显示的是我们当前的情况,不是自动/随机的)

当前 Excel

希望我的问题是可以理解的。我不太擅长使用 Excel,甚至不知道从哪里开始。

任何帮助将非常感激。

答案1

我同意上面的评论,随机化可能不是最公平的选择。如果你仍然想继续,那么这里有一个想法可以帮助你入门,而且相当公平。我的 excel 不支持动态数组函数(如 sortby、sequence 和 randarray 等公式),所以我使用下面老式的随机化数字方法。

在我的数据中,A 列是员工 ID,B 列是随机数。

Cell B2 formula: =RAND()

复制公式,然后在 A 列和 B 列上创建过滤器。[注意:每次 Excel 计算时随机数都会发生变化。现在不用担心。]

接下来,D 列代表您的星期几(假设您的工作周为 5 天,例如周一到周五),重复 5 次(每天需要接听电话的员工人数)。

E 列至 N 列代表日历的前 10 周。根据需要展开。

具体过程如下:

对 B 列进行排序(从小到大都可以),然后复制单元格 A2:A25 并粘贴到单元格 E2:E25 中。重复此过程(排序、复制、粘贴),直到填满所有星期。我们尚未填充最后一个星期五行,因为您只有 24 名员工来填补 25 个空缺。我们接下来会修复此问题。

接下来,我们需要在每个星期五填充第 5 个位置。在第 27 行中,我们将随机选择该周星期一、星期二或星期三接听电话的员工。

Cell E27 formula: =RANDBETWEEN(MIN(E2:E16),MAX(E2:E16))

复制公式以填充所有星期。现在,我们将复制 E27 到 N27 并将特殊值粘贴到 E26 到 N26 中。特殊值粘贴很重要,这样我们就可以删除第 26 行值中的公式。现在,第 5 个位置已由本周早些时候(周四除外)打电话的人填补。

最后,如果您想确认没有人有明显更多的天数,您可以为每个员工执行一个 countif 公式。在 Q 列中,我们计算员工出现在我们时间表中的次数。这并不完美,因为有些人有 12 次。也许它会随着您填写一整年而变得平滑,不确定。

Cell Q2 formula: =COUNTIF($E$2:$N$26,P2)

我们现在在单元格 D1:N26 中有一个时间表。您可以使用简单的参考公式来填充日历。

在此处输入图片描述

相关内容