無料のコマンドラインツール
シフトCSVの人数不足をコマンドで検査するCLI
シフト表をCSVで保存して、コマンドを1つ実行する。それだけで、必要人数を下回る時間帯と、各自の勤務時間(休憩を除く)が表示されます。Node.js 18以上があれば動き、データは外部に送信されません。
運営:シフトエンジン / 最終更新:
できること
- 時間帯ごとの人数と、必要人数を下回る区間の表示
- 休憩を除いた勤務時間と勤務日数の集計
- JSON形式の出力(ほかのプログラムから読み込めます)
- 終了コードで不足の有無を判定
できないこと・対象外
- シフトの自動作成
- 担当業務・法令・本人の希望の判定
- 日またぎの勤務、1日に複数回の休憩
- Excelファイル(.xlsx)の直接読み込み(CSVに保存してください)
使い方
ダウンロードした shift-check.mjs と、シフトのCSVを同じ場所に置き、ターミナルで実行します。
記入例・数式
node shift-check.mjs sample-shifts.csv --need "10:00-13:00=2,13:00-19:00=3"
# 実行結果
人数が足りない区間が4件あります。
■ 2026-10-12
13:00〜14:00 2人(必要3人)
15:00〜16:00 2人(必要3人)
17:00〜18:00 2人(必要3人)
18:00〜19:00 1人(必要3人)
■ 勤務時間(休憩を除く)
A 1日 7時間
B 1日 6時間
C 1日 6時間CSVの書き方
1行目にヘッダー、2行目からシフトを1人1日1行で書きます。時刻は HH:MM の形式です。日本語の列名も使えます。
| 列名(日本語) | 必須 | 内容 |
|---|---|---|
| date(日付) | 必須 | 勤務日。2026-10-12 のように、同じ日は同じ書き方にそろえる |
| name(氏名) | 必須 | スタッフ名。A・B・Cなどの記号をおすすめします |
| start(開始) | 必須 | 勤務開始。例:10:00 |
| end(終了) | 必須 | 勤務終了。開始より後の時刻(日またぎは対象外) |
| break_start(休憩開始) | 任意 | 休憩の開始。休憩がない場合は空欄 |
| break_end(休憩終了) | 任意 | 休憩の終了。勤務時間の中に収める |
ExcelやGoogleスプレッドシートからCSVにする
今使っている表を、1人1日1行の形に整えてからCSVで保存します。
- シフトを、列 date, name, start, end(必要なら break_start, break_end)の表に整える。
- Excelの場合は「名前を付けて保存」で「CSV UTF-8(コンマ区切り)」を選ぶ。
- Googleスプレッドシートの場合は、ファイルのダウンロードから「カンマ区切りの値(.csv)」を選ぶ。
- 保存したCSVのファイル名を、上のコマンドに指定する。
オプションと終了コード
刻み幅や出力の形を変えられます。終了コードを使うと、不足の有無をほかのプログラムから判定できます。
| 指定 | 意味 |
|---|---|
| --need "10:00-13:00=2,..." | 必要人数(必須)。時間帯ごとにカンマ区切りで指定 |
| --step 15 | 判定の刻み幅(分)。省略時は30 |
| --format json | JSON形式で出力する |
| 終了コード 0 | 必要人数を下回る区間なし |
| 終了コード 1 | 人数が足りない区間あり |
| 終了コード 2 | 入力エラー(行番号つきのメッセージを表示) |
数え方のルール
結果は人数と休憩だけの機械的な確認です。
- 勤務は開始時刻を含み、終了時刻を含みません
- 休憩中の人は人数に数えません
- 必要人数が時間帯で重なる場合は、大きいほうを使います
- 担当業務、勤務時間の上限、連続勤務、本人の希望は判定しません
よくある質問
Node.jsはどうやって入れますか?
Node.jsの公式サイトから、LTS版をインストールしてください。インストール後、ターミナルで node --version と入力し、18以上であれば使えます。
入力したデータは送信されますか?
このツールはネットワーク通信を行わず、手元のパソコン内でCSVを読み込んで計算します。
Excelファイルをそのまま検査できますか?
直接は読み込めません。CSV UTF-8で保存したファイルを指定してください。
参考にした公式情報
制度・仕様の最新の内容は、次の公式情報で確認してください。このページの数値や基準は、公式の内容に代わるものではありません。
シフトエンジン
希望の回収とExcel出力は、専用のツールで。
シフトエンジンは、10〜30人規模の小売店向けに、提出リンクでの希望回収・人数の確認・Excel出力を支援します。まずは今のExcelの使い方を無料で相談できます。