首页 > Excel专区 > Excel教程 >

excel怎么利用规划求解安排人员排班

Excel教程 2021-12-31 21:43:18

如下所示,是一家小店的排班需求。从星期一到星期日,每天的时间段相同,即将每天的工作时间分成6段。

排班条件共5个,但第5个条件:“每个员工平均每天至少9个小时长,一周内工作时长为54个小时”,似乎存在矛盾,于是我将其修改为:“每个员工平均每天至少9个小时长,一周内工作时长至少为54个小时”。利用规划求解来求出排班安排。

首先,需要在Excel中安装“规划求解加载项”。很简单,调出“加载项”对话框,选中“规划求解加载项”前的复选框即可,如下所示。

此时,在Excel功能区界面的“数据”选项卡中,会出现“规划求解”命令,如下所示。

下面,我们将条件输入到工作表中。

由于中午11:3 至13: ,下午的17: -19: ,在这两个期间至少要有3人上班;每天早上8:3 至9:3 为准备营业时间,最少为2名员工,假设其他时间至少1人上班。在列J中输入各时段至少上班人数,列H中的公式为前四列对应行中单元格之和,如下所示。

在单元格区域D46:G46中,分别输入求每名员工一周工作总时间的公式。在单元格D46中的公式为:

=SUMPRODUCT($C$2:$C$43,D2:D43)

如下所示,可向右拉至单元格G46。在单元格区域D48:G48中输入约束时间。

在单元格I47中输入目标公式:

=SUM(D46:G46)

即员工周工作总时间。

接着,我们设置规划求解参数。

目标单元格设置为:I47=SUM(D46:G46),目标值为252小时(即9小时/天*7天*4名员工)。

可变单元格设置为:D2:G43,即要求排班的数据区域

约束条件设置为:

H2:H43>=J2:J43

D46:G46>=D48:G48

D2:G43=二进制(即1表示上班,表示休息)

进行规划求解,如下所示。

求得的结果如下所示。

虽然求出了结果,但可以看出,有名员工周工作时间达到82小时,显然不合理。一种是再分析求出的结果,适当调整排班安排,例如员工4几乎排满了班,可以在满足时段人数时减少员工4的排班。


标签: Excel常用函数excel常见问题excel技巧excel教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.