AIサラリーマン
Excel×AI

営業日を指で数えている人へ。Excelなら祝日込みで自動計算できます【式のコピペ配布】

営業日を指で数えている人へ。Excelなら祝日込みで自動計算できます【式のコピペ配布】
※ 本記事はアフィリエイト広告を含む場合があります。

「納期の10営業日前はいつ?」を数えるとき、カレンダーを指でなぞっていませんか。私は工場の工程表で毎回それをやって、しかも祝日を見落として1日ズレたことがあります。

実はExcelには営業日計算の関数が最初から入っています。足りないのは祝日リストだけ。そしてリスト作りはAIに任せられます。この記事の手順どおりにやれば、10分で「祝日込みの営業日計算」が動きます。

手順1:祝日リストをAIに作らせる

ChatGPTでもClaudeでもGeminiでも構いません。これを貼ってください。

コピペで使えるプロンプト
2026年から2028年の日本の祝日(国民の祝日と振替休日)を一覧にしてください。

・1行に1日、「2026/01/01 元日」の形式で
・Excelに貼るので、余計な説明文は不要
・振替休日の抜けがないか、出力後に自分で見直してから出してください

出てきたリストを、Excelの新しいシート(シート名を「祝日」とします)のA列に貼り付けます。B列の名称はあってもなくても動きます。

1つだけ注意:AIはたまに祝日を間違えます。貼ったあと、内閣府の「国民の祝日について」のページと年間の日数だけでも照合してください。ここを省くと私のように1日ズレます。

手順2:コピペで使える計算式

祝日シートができたら、あとは式を貼るだけです。

やりたいこと貼る式
開始日から10営業日後の日付=WORKDAY(A2, 10, 祝日!A:A)納期の逆算に
2つの日付の間の営業日数=NETWORKDAYS(A2, B2, 祝日!A:A)残り日数の確認に
土曜も出勤の場合(日曜のみ休み)=WORKDAY.INTL(A2, 10, 11, 祝日!A:A)週6稼働の現場に
  • A2=開始日のセル、B2=終了日のセル。自分の表に合わせて変えてください
  • 「祝日!A:A」の部分が、さっき作ったシートを参照しています
  • 会社独自の休業日(創立記念日など)があれば、祝日シートのA列に日付を足すだけで反映されます

手順3:マクロ派の人向け(コピペ用)

セル関数で足りる人はここは飛ばしてOKです。マクロの中で営業日を計算したい人は、標準モジュールにこれを貼ってください。

Function 営業日後(開始日 As Date, 日数 As Long) As Date
    Dim d As Date, cnt As Long
    d = 開始日
    cnt = 0
    Do While cnt < 日数
        d = d + 1
        If Weekday(d, vbMonday) <= 5 Then
            If Application.CountIf(Worksheets("祝日").Range("A:A"), d) = 0 Then
                cnt = cnt + 1
            End If
        End If
    Loop
    営業日後 = d
End Function

貼ったあとは、セルに「=営業日後(A2, 10)」のように書くだけで使えます。

つまずきポイント早見表

症状原因直し方
#NAME? と出る関数名の打ち間違い/マクロ未保存式を貼り直す。マクロは「マクロ有効ブック(.xlsm)」で保存
計算が1日ズレる祝日リストの抜け祝日シートと実際のカレンダーを照合
会社の休みが反映されないリストが法律の祝日だけ会社カレンダーの休業日をA列に追加
日付が数字で表示されるセルの書式セルの書式設定を「日付」に変更

まとめ

  • 営業日計算は WORKDAY と NETWORKDAYS の2つで足りる
  • 祝日リストはAIに作らせて、最後に人間が照合する
  • 会社独自の休みは祝日シートに1行足すだけ

「祝日を手で数える仕事」は今日で終わりにしましょう。

← 記事一覧に戻る