銀行、レストラン、郵便会社などの多くの企業は、曜日ごとの労働要件を知っています。 従業員を効率的にスケジュールする方法が必要です。 Excel のソルバー アドインを使用すると、これらの要件を満たす人員配置スケジュールを作成できます。
労働需要を満たすように従業員をスケジュールする (例)
次の例では、ソルバーを使用して人員配置要件を計算する方法を示します。
Contoso 銀行は年中無休で小切手を処理します。 チェックを処理するために毎日必要なワーカーの数は、ワークシートの行 14 に表示されます。 たとえば、火曜日に 13 人のワーカーが必要、水曜日に 15 ワーカーが必要、などです。 銀行職員全員が5日連続で勤務する。 銀行が保有し、労働要件を満たすことができる最低従業員数はどれくらいですか?
まず、ソルバー モデルのオブジェクト セル、変化するセル、制約を特定します。
- 目標セル: 従業員の総数を最小化します。
- 変化させるセル: 曜日ごとに (連続する 5 日間のうちの最初の日) に出勤する従業員の数。 変化する各セルは負以外の整数である必要があります。
- 制約: 曜日ごとに、働いている従業員数は、必要な従業員数以上である必要があります。 (勤務社員数)>=(必要な従業員数)
モデルを設定するには、毎日働く従業員の数を追跡する必要があります。 まず、セル範囲 A5:A11 で、毎日 5 日シフトを開始する従業員数の試用版の値を入力します。 たとえば、A5 に「1」と入力すると、1 人の従業員が月曜日に働き始め、月曜日から金曜日まで勤務することを示します。 C14:I14 の範囲で、各日の必要な作業者を入力します。
毎日働いている従業員数を追跡するには、セル C5:I11 の範囲内の各セルに 1 または 0 を入力します。 セル内の値 1 は、セルの行で指定された日に働き始めた従業員が、そのセルの列に関連付けられている日に働いていることを示します。 たとえば、セル G5 の 1 は、月曜日に働き始めた従業員が金曜日に働いていることを示します。セル H5 の 0 は、月曜日に働き始めた従業員が土曜日に働いていないことを示します。
毎日勤務している従業員数を計算するには、数式 =SUMPRODUCT($A$5:$A$11,C5:C11) を C12 から D12:I12 にコピーします。 たとえば、セル C12 では、この数式は =A5+A8+A9+A10+A11 として評価され、 (月曜日から始まる数)+ (木曜日から始まる数)+(金曜日から始まる数)+(土曜日から始まる数)+ (日曜日から始まる数)に等しくなります。 この合計は、月曜日に働いている人の数です。
セル A3 の従業員の総数を数式 =SUM(A5:A11) で計算した後、次の図に示すように、ソルバーにモデルを入力できます。
目的のセル (A3) で、従業員の総数を最小化します。 制約 C12:I12>=C14:I14 により、毎日働く従業員数が、少なくともその日に必要とする従業員数と同じ数になるようにします。 制約 A5:A11=integer により、毎日作業を開始する従業員数が整数になります。 この制約を追加するには、[ソルバー パラメーター] ダイアログ ボックスで [追加] をクリックし、[制約の追加] ダイアログ ボックスに制約を入力します (次の図を参照)。
また、[ソルバー パラメーター] ダイアログ ボックスの [オプション] をクリックし、[ソルバー オプション] ダイアログ ボックスのチェック ボックスをオンにして、変化するセルに対して [線形モデルを想定] オプションと [負以外を想定] オプションを選択することもできます。
[ 解決] をクリックします。 1 日あたりの最適な従業員数が表示されます。
この例では、合計 20 人の従業員が必要です。 従業員は月曜日に 1 人、火曜日に 3 人、木曜日に 4 人が、金曜日に 1 人、土曜日に 2 人、日曜日に 9 人が始まります。
目的セルは変化するセルを加算することによって作成され、制約は変化する各セルの積に定数 (1 または 0) を乗算して得られた結果を比較することによって作成されるため、このモデルは線形であることに注意してください。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。