通常タスク管理

公平なシフトスケジュールの生成(窓口当番、昼当番、電話当番)プロンプト

エクセルによる公平な職場シフトスケジュールの生成

公平な職場の日当番スケジュールをテキストデータからエクセルファイルに生成する。

このプロンプトは、社員名簿から公平に窓口当番、昼当番、電話当番を割り当てるシフトスケジュールをエクセル形式で生成するシステムを作るための指示を提供します。週末や公休日を考慮し、社員ごとに均等な労働負担を確保しながら、指定された月の全平日にわたってスケジュールを作成します。完成したシフトスケジュールは、エクセルファイルで提供され、各日付には曜日も表示されます。

 

・デモデータでテスト済みです。

・初回の生成ではいくつか生成しきれない時もありますが、追加指示で修正や精度が高い成果物が作成されます。

 

【つぶやき】

この春に内部異動をして、いきなり同僚の係長からシフトのお悩み相談を受けたときに、フロント商品として無料でこのプロンプトと成果物を渡しました。

 

【ChatGPTに評価してもらった。】

●シフトスケジュール生成プロンプトの評価

このシフトスケジュール生成プロンプトは、多くの実用的なニーズをカバーしているため、商品として提供するにはかなり良い基盤を持っています。

以下の点が特に優れています。

1. 柔軟性とカスタマイズ性: ユーザーが提供する社員名簿データを基にシフトを生成し、指定された年月に合わせて週末や祝日を除外する点は、実際の職場環境に柔軟に対応できる設計です。

2. 公平性の確保: 各社員が窓口当番、昼当番、電話当番を公平に担当するよう設計されているため、労働環境の公平性をサポートします。

3. 詳細な出力形式: エクセルファイルとして出力し、各月をタブで分けることで、情報の整理とアクセスが容易になります。

4. 拡張性: Pythonのライブラリを利用しており、コードのカスタマイズや追加機能の実装が比較的容易です。

 

●レコメンドできる点と改善点

レコメンドできる点: ユーザーが直面する可能性のある具体的な問題に対応する能力が高いため、特に中小企業や組織での使用に適しています。

改善点: 生成ロジックの健全性をさらに向上させるために、連続勤務の防止、スキルベースの割り当て、健康と安全を考慮したシフト設計など、より複雑な条件を組み込むことが可能です。

また、ユーザーインターフェースを提供して、非技術者も容易に利用できるようにすることが望まれます。

 

プロンプト本文

## 前提条件
- **タイトル**: 公平なシフトスケジュールの生成(窓口当番、昼当番、電話当番)
- **依頼者条件**: シフト管理を担当する企業や組織の管理者
- **制作者条件**: テキストデータ形式で受け取った社員名簿をもとに、公平なシフトスケジュールを生成し、指定された形式で出力できる能力を持つ者
- **目的と目標**: ユーザーから提供されたテキストデータ形式の社員名簿を使用し、指定された年月において、週末と公休日を除外した平日に対して、全社員が窓口当番、昼当番、電話当番を公平に担当するシフトスケジュールを生成する。各日付には曜日を表示し、スケジュールは一つのエクセルファイルにまとめて出力する。
- **リソース**: テキスト形式の社員名簿、指定された出力形式(エクセル)
- **評価基準**: 指定された形式で正確にシフトスケジュールが出力され、週末と公休日を除外し、全社員が窓口当番、昼当番、電話当番を公平に担当していること。出力されるシフトスケジュールには各日付の曜日が表示され、すべてのスケジュールが一つのエクセルファイル内に、月ごとのタブで整理されていること。

## 明確化の要件
1. ユーザーからテキストデータ形式で社員名簿を受け取る。
2. 日本時間の週末(土曜日と日曜日)、日本歴での祝祭日、公休日を特定し、これらをシフト割り当てから除外する。
3. ユーザーからシフトスケジュールの出力形式(エクセル形式)を指定してもらう。出力されるスケジュールには曜日を表示し、全てのスケジュールを一つのエクセルファイルに月ごとにタブを分けて整理する。
4. 全社員が窓口当番、昼当番、電話当番を公平に担当するようにシフトスケジュールを生成し、ユーザーに提供する。
5. 各当番のシフト割り当てにおいて、一人が連続して同じ当番をしないようにする。
6. 日次の窓口当番を午前中1名、午後1名の合計2名で設定する。
7. 日次の昼当番をその日次で窓口当番になっている社員を除いた社員から3名で設定する。
8. データ出力は、PythonのPandasやOpenPyXLなどのライブラリを用いる。

## 実行指示
- **実行指示A**: ユーザーに作成してほしい年月、テキストデータ形式の社員名簿、希望の出力形式を入力してもらう。
- **実行指示B**: 入力された年月に基づいて、日本時間の週末(土曜日と日曜日)、日本歴での祝祭日、公休日を特定し、日付を計算する。
- **実行指示C**: テキスト形式の社員名簿からデータを読み込む。
- **実行指示D**: 全社員が窓口当番、昼当番、電話当番を公平に担当するようにシフトを割り当てる。
- **実行指示E**: 割り当てられたシフトを基に、指定された出力形式でシフトスケジュールを整理し、出力する。シフトスケジュールには各日付の曜日が表示され、一つのエクセルファイルに月ごとのタブで整理される。
削除キー: