メインコンテンツへスキップ
約10分で読めます

エクセルで土日の出勤回数をカウントする方法|勤務記号別に集計

土日の出勤回数を勤務記号で数えるExcelガイド。土日別の集計と未入力を確認。

エクセルで職員ごとの土日の出勤回数をカウントするには、WEEKDAYで曜日を判定し、勤務記号を「出勤なら1」に変換して、SUMIFSで土曜・日曜を別々に集計します。日付だけでなく、その日に働いたかどうかを組み合わせるのがポイントです。

数式と架空の記入例が入ったExcelを使い、土曜・日曜・合計の確認から、空欄や未登録記号の扱い、祝日を重複なく加える手順まで説明します。手元の月間勤務表に数式を移す場合も、同じ考え方で集計できます。

土日の出勤回数は、曜日と勤務記号で数える

最初に、数える単位をそろえましょう。この表では、1日に出勤に該当する勤務記号が入っていれば1回と数えます。早番と遅番で勤務時間が違っても、それぞれ1回です。勤務時間の合計ではありません。

暦にある土日の個数と、職員が土日に出勤した回数は別です。また、NETWORKDAYSは土曜・日曜と指定した休日を除く期間内の稼働日数を返す関数で、個人の勤務記号を判定するものではありません。(Microsoft サポート)

実際の出勤回数を調べるなら、欠勤や交代を反映した勤務実績を入力してください。予定の勤務表を入力した場合に得られるのは、出勤の「予定回数」です。

配布表が行うのは、曜日の自動表示と、入力された勤務の自動集計です。職員への勤務の自動割当や、給与計算・法令適合の自動判定は対象にしていません。

配布Excelで職員別の回数を確認する

土日出勤回数の集計表をダウンロード(Excel)

シートは「土日出勤」1枚、マクロなしで、スタッフA〜Fの架空6人分の記入例を収録しています。

まずは記入例を消さずに開き、お使いのExcelで次の結果になるか確認してください。対象月は2026年9月です。

職員(架空)土曜日曜土日合計
スタッフA4回4回8回
スタッフB0回4回4回

入力・確認する場所は、次のとおりです。

  • C4:対象月。 2026/9/1のように、Excelが日付として認識する値を入力します。
  • B21:B26:氏名。 スタッフA〜Fを職員名に置き換えます。
  • D20:AH20:日付。 対象月に応じて表示される数式の行です。
  • D21:AH26:勤務。 1人1行、1日1セルに勤務記号を入力します。
  • C41:C43:出勤記号。 初期設定は「早・日・遅」です。C44:C45の「休・有」は出勤に含めません。

集計結果はC10:H15に表示します。スタッフAの場合、C10が土曜、D10が日曜、E10が土日合計です。F10の「土日の未確認」は、土日に残る未入力・不明記号の件数を示します。

G10の「祝日含む」とH10の「対象日未確認」は、後述する追加対象日を含めて確認する欄です。回数が表示されても、未確認が残っていれば入力確認は終わっていません。 記入例を確認したらファイルを複製し、勤務など入力欄の内容だけをクリアして使います。数式セルや行・列そのものは削除しないでください。

配布ファイルの記入例。曜日番号と勤務記号を別々に確認して、職員ごとの土日の出勤を集計します。
配布ファイルの記入例。曜日番号と勤務記号を別々に確認して、職員ごとの土日の出勤を集計します。

図を拡大して見る

WEEKDAYで土曜と日曜を分ける

曜日番号を表示するD18には、次の式が入っています。

=IF(D20="","",WEEKDAY(D20,2))

WEEKDAYの第2引数に2を指定すると、月曜が1、土曜が6、日曜が7になります。日付は文字列ではなく、Excelの日付として扱える値を使います。(Microsoft サポート)

外側のIFは、D20に日付がなければ曜日番号も空欄にするためのものです。この式を右方向のAH18まで対応させ、31日分の曜日を判定します。

自分の表へ移す場合は、D20を実際の日付セルに置き換えてください。「土」「日」という見た目の文字やセルの色ではなく、日付から求めた曜日番号を集計条件に使う構成です。

出勤記号だけを1にしてSUMIFSで集計する

次に、勤務記号を集計用の値へ変換します。配布版のD32:AH37が、職員ごとの「出勤フラグ」です。スタッフAの9月1日に対応するD32には、次の式が入っています。

=IF(D$20="","",IF(D21="","未入力",IF(COUNTIFS($C$41:$C$43,D21)>0,1,IF(COUNTIFS($C$44:$C$45,D21)>0,0,"記号不明"))))

COUNTIFSは条件に一致するセルを数える関数です。この式では、勤務セルの内容が出勤記号の登録欄にあるか、休み記号の登録欄にあるかを調べます。なお、検索条件として扱われる*?などは勤務記号に使わず、「早」「日」「遅」のような文字にそろえてください。(Microsoft サポート)

判定結果は、次のように分かれます。

勤務セルの状態出勤フラグ集計上の扱い
登録した出勤記号「早・日・遅」1出勤1回
登録した休み記号「休・有」0出勤に含めない
空欄未入力勤務・表記を確認する
「未定」などの未登録記号記号不明勤務・表記を確認する
日付がない列空欄集計対象外

「空欄以外をすべて数える」方法では、休みや有休まで出勤に混ざります。登録した出勤記号だけを1にすることで、その混在を避ける設計です。出勤・休みの登録欄に同じ記号を重複させないでください。

出勤記号は3種類、休みの記号は2種類の固定枠です。登録する5つの記号は空欄にせず、互いに重複させないでください。

出勤・休み・未確認を分けてから、土日の出勤を数えます。
出勤・休み・未確認を分けてから、土日の出勤を数えます。

図を拡大して見る

土曜・日曜は、出勤フラグを曜日条件で合計します。 SUMIFSは条件を満たす位置の値を合計し、合計対象範囲と条件範囲には同じ数の行・列を指定します。(Microsoft サポート)

基本部分は、土曜がSUMIFS(D32:AH32,D$18:AH$18,6)、日曜が条件を7に変えた式です。配布版の正確な数式は次のとおりです。

C10:土曜
=IF(D$20="","対象月確認",SUMIFS(D32:AH32,D$18:AH$18,6))
D10:日曜
=IF(D$20="","対象月確認",SUMIFS(D32:AH32,D$18:AH$18,7))
E10:土日合計
=IF(D$20="","対象月確認",SUM(C10:D10))

外側のIFは、対象月が不正で日付を表示できないときに「対象月確認」を返します。月が未設定なのに、確認済みの「0回」に見せないための処理です。

自分の勤務表へ移す際は、日付行・曜日行・勤務行・出勤フラグ行の対応を確認しましょう。配布版ではすべてD列からAH列までの31列です。列数が合っていても、勤務だけ1日ずれていれば別の日を数えてしまいます。月初と月末の両方で、同じ列が同じ日を指しているか確認してください。

祝日を加えるときは、同じ日を二重に数えない

土日だけでなく祝日の出勤も数えたい場合に限り、F41:F50へ追加したい日付を入力します。この欄の初期状態は空欄で、祝日一覧を自動取得する機能はありません。必要な対象日を確認し、文字列ではなく実際の日付として登録してください。

D19の対象フラグは、次の式です。

=IF(D20="","",IF(OR(D18>=6,COUNTIFS($F$41:$F$50,D20)>0),1,0))

この式は、「土日である」または「追加対象日リストにある」のどちらかを満たせば1にします。両方に当てはまっても1のままなので、同じ出勤日を二重に数えません。

G10は、この対象フラグを条件に出勤フラグを合計します。集計の基本部分は次の式です。

=SUMIFS(D32:AH32,D$19:AH$19,1)

重複しないことを確かめるには、記入例のスタッフAを元に戻し、F41へ2026/9/5を入れてみましょう。もともと土曜として数えているため、G10は増えず8回のままです。

続いて、スタッフAに出勤記号が入っている平日を1日選び、F42へ登録します。その日がまだ追加対象になっていなければ、G10は1回増えます。これは重複確認用の操作例で、その平日を実際の祝日とする意味ではありません。

追加対象日に空欄や不明記号があれば、H10の「対象日未確認」も確認します。土日だけのE列と、追加日を含むG列を区別して読み取ってください。

土日と任意の追加対象日はOR条件で扱い、同じ出勤日を二重に数えません。
土日と任意の追加対象日はOR条件で扱い、同じ出勤日を二重に数えません。

図を拡大して見る

集計が合わないときと翌月への引き継ぎ

未入力と出勤0回を区別できるか、記入例を変更して確かめましょう。スタッフAの勤務を次のように変えます。

  1. 2026年9月5日に当たるH21を空欄にする。
  2. 2026年9月6日に当たるI21を「未定」にする。
  3. C10:F10の結果を確認する。

この場合の期待値は、土曜3回・日曜3回・土日合計6回・土日の未確認2件です。出勤回数が減ったのは、休みが確定したからではありません。2日分を出勤として判定できなくなったためです。

該当日の勤務実績を確認し、出勤なら登録済みの勤務記号、休みなら「休」などに直します。「有」もこの表では出勤に含めません。未確認を解消してから、回数を確定してください。

想定と違う結果なら、まず勤務記号の表記と登録欄を照合し、続いて日付・曜日・出勤フラグの列対応を確認します。特定の職員だけ合わない場合は、その職員の集計式が別の人のフラグ行を参照していないかも見てください。

翌月は、次の順で引き継ぎます。

  1. 当月分のファイルを残し、翌月用にコピーする。
  2. D21:AH26の勤務内容をクリアする。
  3. C4を翌月の有効な日付へ変更する。
  4. F41:F50の追加対象日を見直し、翌月の勤務を入力する。

C4の年月を変えても、古い勤務は消えません。 日付だけ更新して先月の記号を数えないよう、勤務欄のクリアを先に行います。

2026年2月なら、29〜31日分の列は日付の式が空欄を返し、対象フラグ・出勤フラグも空欄となって集計対象から外れます。配布版で指定できる対象月は、2000年1月〜2100年12月です。C4が空欄や日付でない文字列の場合は「対象月確認」となるため、まず対象月を直してください。

集計後の偏りは、回数だけで判断せず、勤務時間・担当・シフト希望と一緒に見ます。たとえば同じ土日4回でも、短時間勤務と終日勤務では負担が異なります。交代を検討するときは、必要人数と担当できる職員が足りるかを確認し、変更後に再集計しましょう。

シフト管理の作成段階から見直す場合、シフトラではシフト希望・曜日別必要人数・自然文ルールを入力してシフト案を確認し、調整・確定後にExcelへ出力する流れを取れます。(シフトラ)

週末が必ず均等に割り当てられる前提にはせず、案の確認と確定は担当者が行います。出力した予定を実績として集計する際も、欠勤や交代の反映は別途必要です。

まずは記入例の回数を確認し、職場の勤務記号へ置き換え、未確認を解消するところまで進めてください。土曜・日曜の回数と、その根拠となる勤務を照合できれば、翌月の配置を調整する際にも使える集計表になります。

AIでのシフト作成を検討している方へ

連勤・担当・希望休まで、毎月の作成条件に。

シフトラでは、個人の連勤上限、必要人数、スタッフの希望、自然な日本語のルールをまとめて設定できます。前の期間の確定シフトを参照して生成し、作成前の矛盾チェックから結果の履歴確認まで進められます。

  • 連勤上限・勤務日数・ルールの優先度を設定
  • 前月などの確定シフトを参照して作成
  • 作成前の矛盾と、作成時の条件・結果を確認

人員不足や相反する必須条件には調整が必要です。作成されたシフト案を確認してから確定します。

機能・料金・導入の流れを見る 資料を請求する
目次