シート実務ラボ

Excel・スプレッドシートの「動かして確かめた」実務ガイド

ホーム > シフト表で日ごとの出勤人数を数える方法(COUNTIFと人数不足の判定)【LibreOfficeで計算して確認】

2026-10-14 ・ Excel関数

シフト表で日ごとの出勤人数を数える方法(COUNTIFと人数不足の判定)【LibreOfficeで計算して確認】

シフト表を作ったあと、「この日は何人出勤だっけ?」と目で数えていないでしょうか。この記事では、日ごとの出勤人数をCOUNTIFで自動で数え、最低人数を下回る日に「不足」と表示する式を、実際に計算して確かめた結果だけで紹介します。

出典: 筆者がLibreOfficeで計算して確認(検証スクリプト: site/verify/shift_headcount.py)。外部サイトの説明は参照していません。Excelでは未確認です。使うのは基本的な関数だけですが、本番の表に使う前に、数日分で結果を確かめてください。

先に結論

表の作り方

B2:H6に5人分の7日間を入れます(2行目〜6行目が人、B列〜H列が日)。たとえば次の表です。

1日 2日 3日 4日 5日 6日 7日
Aさん 出 出 休 出 早 遅 休
Bさん 出 休 出 出 遅 休 休
Cさん 休 出 出 (空欄) 早 出 出
Dさん 出 出 出 出 出 休 休
Eさん 休 休 出 出 遅 遅 出

その下の行に、日ごとの式を入れます。B列の例です(C列以降は右へコピー)。

B8:  =COUNTIF(B2:B6,"出")
B9:  =COUNTIFS(B2:B6,"早")+COUNTIFS(B2:B6,"遅")
B10: =IF(B8<3,"不足","")
B11: =COUNTA(B2:B6)

B8は「出」の人数、B9は早番と遅番の合計、B10は「出」が3人未満なら「不足」、B11は何かが入力されているセルの数(入力漏れの確認用)です。

実際に計算した結果

上の表を計算した結果です。

日 出 早+遅 判定 入力数
1日 3 0 5
2日 3 0 5
3日 4 0 5
4日 4 0 4
5日 1 4 不足 5
6日 1 2 不足 5
7日 2 0 不足 5

7日×4項目の28件すべて、期待値と一致しました。注目点は2つあります。

表記ゆれで数え漏れる例

人数が合わない原因の多くは、記号の表記ゆれです。次の3人×7日の表で確かめました。

1日 2日 3日 4日 5日 6日 7日
Aさん 出 出(末尾にスペース) 出 (空欄) 休 出 出
Bさん 出 出 出 出 出 出 出
Cさん 休 休 休 休 休 休 休

2日目の「出」は、Aさんが「出 」(末尾に半角スペース)、Bさんが「出」です。この日のCOUNTIFの結果は 1 でした。見た目は2人出勤でも、末尾にスペースのあるセルは「出」と一致せず、数えられません。入力数(COUNTA)は3のままなので、「入力数は合うのに出勤人数が少ない」ときは、表記ゆれを疑ってください。

対策は、記号を入力規則のリストから選ぶ形にして、手で打たないことです(入力規則の設定自体は、この記事では検証していません)。

注意点: この式ができないこと

シフト表のひな形が必要なら

この記事の式は、自分で作った表にそのまま使えます。日付と曜日が自動で入るひな形を探しているなら、運営者が作った月間シフト表(Excelテンプレート・500円)があります。A4横1枚で印刷でき、15人まで入ります。日ごとの出勤人数を出す行は入っていますが、この記事の「不足」を知らせる判定は入っていません(自分で足す形になります)。Excelの確認はWindowsデスクトップ版16のみです。この記事の方法で足りる場合は、買う必要はありません。

勤務時間を計算したいときは、無料の勤務時間の計算ツールも使えます(入力は外部に送信されません)。

まとめ

確認方法: この記事の式は、LibreOffice Calcで実際に再計算し、5人×7日の基本表と、表記ゆれ(末尾スペース・空欄)を含む3人×7日の表について、日ごとの出勤人数・早番遅番の人数・不足判定・入力数(計56件)が期待値と一致することを検証スクリプト(site/verify/shift_headcount.py)で確認しました。使った関数はCOUNTIF、COUNTIFS、COUNTA、IFで、Excelにもある関数ですが、Excelでは未確認です。外部サイトの記述は参照していません。

参考にした情報