月末締めや納期管理をExcelで回していると、必ず詰まるのが「祝日」と「会社独自の休み」です。カレンダーを見ながら手入力していると、うっかり1日ズレて冷や汗…ありますよね。
ネットで見つけたWORKDAY関数を“そのままコピペ”して最初は動いたのに、数ヶ月後にズレるパターンも多いです。原因はだいたい次のどれか。
- 祝日リストが別シート管理されておらず、参照範囲がズレた
- 祝日が「文字列」になっていて、祝日として認識されていなかった
- 土日以外休みなのに、週末設定(WORKDAY.INTL)がズレていた
- 翌年の祝日更新を忘れて、静かに事故った
この「参照範囲がズレて静かに事故る」構造、実はSUMの合計がズレる事故と同じです(根っこは“範囲が追従しない”)。
関連記事(範囲ズレの典型パターンと、テーブル化で潰す方法):

結論
休日は「別シートの祝日表(+会社休)」に集約し、計算式はそこだけを見る。
土日休みなら WORKDAY、土日以外休みなら WORKDAY.INTL を使う。
これで納期・出荷日・支払予定日を“営業日ベース”で安定して自動算出できます。
この記事でできること(最短で回る形)

先に「これだけ揃えば動く」形を置きます。
- 祝日表(別シート):日付だけ1列+テーブル化(追記しても参照が伸びる)
- 週末設定:土日 or 土日以外(例:水曜+日曜休み)を文字列で固定
- 入力セル設計:開始日/営業日数/(必要なら)締め日ルール/寄せ方(前営業日or翌営業日)
営業日計算が事故る瞬間(先に地雷を共有)
営業日計算のミスは「関数を知らない」より、「運用が崩れる」ことで起きます。特に危険なのが次の3つ。
- 祝日表が“貼り付けっぱなし”で更新されない
- 祝日列に文字や空白が混ざる(日付として認識されず除外されない)
- 参照範囲が固定されていない(祝日を追記しても式が見に行かない)
この記事は、ここを潰すために「祝日表の持ち方(別シート+更新ルール)」までセットで解説します。
休日は「別シートの祝日表」に集約する(ここが最重要)
休日はメイン表に散らさず、別シートに1本化します。式が参照する場所が1箇所なら、壊れるポイントも1箇所に減るからです。
祝日表は「日付だけ」の1列にするのが鉄則です。名称(海の日、文化の日など)を同じ列に混ぜると、日付が文字列化したり、並び替えで崩れたりして事故ります。
祝日表の作り方(内閣府CSV+会社休を追記)

祝日データは、できるだけ一次情報(公式)を使うのが安全です。内閣府は「国民の祝日」一覧とCSV(国民の祝日.csv)を公開しています。
- 内閣府「国民の祝日について」:https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html
- 内閣府「国民の祝日.csv」:https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv
手順
- Excelに「祝日」シートを作る
- 内閣府のCSVから「日付」列だけを貼り付ける(A列に日付のみ)
- 同じ列の下に、会社独自休(棚卸、創立記念日、夏季休暇など)を追記する
- A列を選択して Ctrl+T(テーブル化) → テーブル名を tblHoliday にする
ポイント(ここを守ると事故が減る)
- 貼り付け後に日付が左寄せになったら要注意(文字列の可能性)。表示形式を「日付」にし、必要なら =DATEVALUE() で変換。
- テーブル化しておくと、祝日を追記しても参照範囲が自動で伸びます。
- 内閣府CSVは更新されるため、年1回(目安:1〜2月)に差分取り込みをタスク化すると安全です。
テーブル化(Ctrl+T)と「構造化参照」が腑に落ちてない場合は、先にここだけ見ておくと事故率が下がります。
関連記事(テーブル機能=参照範囲が勝手に伸びる仕組みの解説):

【検証】祝日を踏むケースで、式が本当にズレないか確認

ここは“コタツ記事”との差別化ポイントです。祝日を踏む具体日で動作を確認します。
検証条件(例)
- 開始日:2026/2/20(金)
- 営業日数:3
- 祝日表:2026/2/23(月・天皇誕生日)が tblHoliday に入っている
期待される結果:2/22(日)を飛ばし、2/23(祝日)も飛ばすので、3営業日後は 2026/2/26(木) になります。
関数パート:納期/支払予定日を自動算出(コピペOK)
土日休み:WORKDAY(祝日も除外)
土日が休みなら、まずはWORKDAYでOKです(Microsoft公式の仕様)。
- ○営業日後(納期など)
=WORKDAY(開始日, 営業日数, tblHoliday[日付]) - ○営業日前(出荷日を逆算など)
=WORKDAY(納期日, -営業日数, tblHoliday[日付])
参考(Microsoft Support)
土日以外休み:WORKDAY.INTL(週末を自由に指定)

水曜定休、週休3日、シフト休などはWORKDAY.INTLを使います。週末(非稼働日)は「番号」または「7桁文字列(0/1)」で指定できます(Microsoft公式の仕様)。
7桁文字列のルール(超重要)
月曜から始まり、0=稼働日 / 1=休業日。7文字で固定。
よく使う例(7桁文字列)
- 土日休み:
"0000011" - 水曜+日曜休み:
"0010001" - 水曜+木曜休み:
"0011000"
式(○営業日後)
=WORKDAY.INTL(開始日, 営業日数, "0010001", tblHoliday[日付])
参考(Microsoft Support)
実務例①:納期から逆算して「出荷日」を出す(営業日ベース)
たとえば「納期の2営業日前に出荷」が社内ルールなら、納期日からマイナス営業日で逆算します。
- 土日休み:
=WORKDAY(納期日, -2, tblHoliday[日付]) - 土日以外休み:
=WORKDAY.INTL(納期日, -2, "週末指定", tblHoliday[日付])
ここで大事なのは、祝日と会社休を同じ祝日表に入れること。出荷・納品は社内都合の休みでも止まるので、祝日だけ除外しても現場ではズレます。
実務例②:支払サイトから「支払予定日」を出す(月末締め+休日調整)

支払日は会社ルールが混ざりやすいので、まずはロジックを分解します。
支払日ロジック(例:月末締め/翌月末払い)
- 締め日(例:月末)を確定
- 翌月末を「仮の支払日」として出す
- 仮の支払日が休日なら「前営業日」or「翌営業日」に寄せる(会社ルール)
例:請求日(または検収日)が A2、翌月末払いで「翌営業日」に寄せる場合
- 仮の支払日(翌月末):
=EOMONTH(A2,1) - 翌営業日に調整(土日休み):
=WORKDAY(EOMONTH(A2,1)-1, 1, tblHoliday[日付])
※「月末の前日から1営業日後」を取ると、月末が休日でも次の営業日に寄せられます。
「前営業日」に寄せる会社の場合
=WORKDAY(EOMONTH(A2,1)+1, -1, tblHoliday[日付])
※「月末の翌日から1営業日前」を取ると、月末が休日でも前営業日に寄せられます。
応用:20日締め/翌月末払い(締め日が固定のパターン例)
- 締め日(同月20日):
=DATE(YEAR(A2),MONTH(A2),20) - 翌月末(仮):
=EOMONTH(DATE(YEAR(A2),MONTH(A2),20),1) - 休日なら翌営業日に寄せる:
=WORKDAY(EOMONTH(DATE(YEAR(A2),MONTH(A2),20),1)-1, 1, tblHoliday[日付])
土日以外休みなら、上記WORKDAYをWORKDAY.INTLに置き換え、週末指定を入れてください。
「支払予定日」まで出せるようになると、次は“未入金アラート”や“資金繰りの見える化”に繋がります。
関連記事(入金期限のアラート付き:売掛金の回収漏れを減らす):

関連記事(入出金予定を入れるだけで未来残高を自動計算:資金ショート予防):

よくあるエラーと潰し方(ここで差がつく)
- 祝日が文字列:左寄せ表示/COUNTIFでヒットしない → 日付形式に統一、必要ならDATEVALUEで変換
- 参照範囲が伸びない:$A$2:$A$50のまま → テーブル化(tblHoliday)で自動追従
- 祝日列に名称を混ぜた:日付と文字列が混在 → 「日付だけ1列」に戻す(名称は別列に)
- 週末文字列の曜日ズレ:7桁は月曜始まり。休みの曜日だけ1にする
- 空白・見えないスペース混入:貼り付け時に発生 → TRIMや再貼り付け、入力規則で防止
あと地味に効くのが「エラーの握りつぶし」です。対外書類は空白でOKでも、社内管理表で空白にすると“異常が消える”ので事故ります。
関連記事(IFERRORを空白にする/要確認にする判断基準+運用ルール):

事故らない運用チェックリスト(年次タスク化がおすすめ)
- 年1回(目安:1〜2月):内閣府CSVの更新を確認し、祝日表に差分を取り込む(担当者・期限を決める)
- 祝日表は「日付のみ」列+テーブル(tblHoliday)を維持
- 会社休(棚卸、創立記念日など)も同じ列に追記
- 支払日が休日のとき「前営業日/翌営業日」どちらに寄せるか、社内ルールとして明文化
【差し込み推奨】あなたの現場の“事故寸前”を1つ入れる(一次情報)
ここが検索上位に勝つ最大のポイントです。あなたの現場で起きた(または起きかけた)具体例を、1つだけ入れてください。
- 例:祝日更新漏れで支払予定日がズレて、取引先に送る前に気づいた
- 例:祝日列に「海の日」など名称を混ぜたせいで、祝日が除外されず納期がズレた
- 例:担当者が休んでも回るように、年次タスク化して属人化を潰した
※数字や固有名詞は伏せてOK。「どう直したか(再発防止策)」が読者価値になります。
まとめ
祝日込みの納期・支払日計算は、関数を覚えることよりも「正確な休日マスタを維持する運用」を作ることが成功の鍵です。内閣府の公式CSVをベースに祝日表を別シートで管理し、WORKDAY/WORKDAY.INTLでロジックを固めれば、手計算や見落としのミスを減らせる可能性が高いです。
祝日や会社休は毎年変わります。更新漏れという「静かな地雷」を踏まないために、今回の年次タスク化とチェックリストを、今すぐ業務に組み込んでください。
※本記事はExcelでの計算手法の解説です。支払条件・締め日の定義・休日時の寄せ(前営業日/翌営業日)は、社内ルールおよび取引先契約に合わせて必ず最終確認してください。


コメント