Excelの営業日計算をAIに頼むときは、「何営業日後の日付か」と「期間内に何営業日あるか」を分けます。同じ開始日と休日表でも、返すものが日付か日数かで式が変わります。開始日をどう数えるかも、言葉だけで済ませず小さなカレンダーで確かめます。
この記事では、架空の会社休日を使い、金曜から3営業日後と、開始日からその日までの営業日数を確認します。公式仕様と日付の列挙で期待値を作った例で、ExcelやAIサービスを実行した結果ではありません。
目次
まず、返してほしいものを一つ決める
WORKDAYは指定した稼働日数だけ前後の日付を返し、通常は土日と指定休日を除きます。NETWORKDAYSは開始日から終了日までの稼働日数を返します。週末の曜日が違う場合はINTL系の指定を確認します。Microsoft公式:WORKDAY(新しいタブで開く)、NETWORKDAYS(新しいタブで開く)
表は横にスクロールできます
| 知りたいこと | 返す値 | 今回の選択 |
|---|---|---|
| 開始日から3営業日進んだ日はいつか | 日付 | WORKDAY |
| 開始日から終了日まで営業日は何日か | 日数 | NETWORKDAYS |
| 金土休みで3営業日進んだ日はいつか | 日付 | WORKDAY.INTL |
「3日後」だけでは、暦日か営業日かが分かりません。開始日を一日目とする社内ルールなのか、開始日から先へ進めるのかも、式を作る前に決めてください。
入力日と休日を、日付値で用意する
今回の開始日は2026年10月9日です。休日表には、説明用として2026年10月12日と2027年1月1日を入れます。国や会社の正式な休日一覧ではありません。この2日以外に会社休日はないという架空の条件です。
Excelへ用意する例は次のとおりです。日付の文字列をそのまま渡すより、DATEなどで日付値を作ります。Microsoftも日付文字列では問題が起きる場合があると案内しています。
表は横にスクロールできます
| セル | 入れる式 | 用途 |
|---|---|---|
| A2 | =DATE(2026,10,9) | 開始日 |
| H2 | =DATE(2026,10,12) | 架空の会社休日 |
| H3 | =DATE(2027,1,1) | 架空の会社休日 |
表示は年を含む日付にします。「10/9」と見えるだけでは、年や日付値かどうかは確定できません。休日表を増やしたときに範囲へ含まれるかも確認します。今回の休日範囲は$H$2:$H$3で固定しています。
金曜から3営業日後を、一日ずつ追う
土日休みの条件で、開始日から先へ3営業日進みます。開始日そのものは、進んだ日数の1日目にしません。
=WORKDAY(A2,3,$H$2:$H$3)
期待する日付は2026年10月15日です。日付を列挙すると次のようになります。
表は横にスクロールできます
| 日付 | 曜日 | 今回の扱い | 開始日から進んだ営業日数 |
|---|---|---|---|
| 2026-10-09 | 金 | 開始日 | 0 |
| 2026-10-10 | 土 | 週末 | 0 |
| 2026-10-11 | 日 | 週末 | 0 |
| 2026-10-12 | 月 | 指定休日 | 0 |
| 2026-10-13 | 火 | 営業日 | 1 |
| 2026-10-14 | 水 | 営業日 | 2 |
| 2026-10-15 | 木 | 営業日 | 3 |
もし10月14日を期待していたなら、開始日を一日目にしたなど、数え方の違いを調べます。返ってきた日付へ合わせて休日を削るのではなく、業務の数え方と関数の役割を確認します。
同じ期間の営業日数は4日になる
10月9日から10月15日までの期間について、NETWORKDAYSで数える例です。
=NETWORKDAYS(A2,DATE(2026,10,15),$H$2:$H$3)
この期間の営業日は、9日、13日、14日、15日の4日です。開始日と終了日も営業日なら対象に入るため、WORKDAYで進めた3日とは数が違います。3と4が違うことを、すぐにAIの式の誤りとは判断しません。
結果の4を日付書式で表示すると、意味の分からない日付に見える可能性があります。日付を返す列と日数を返す列は、列名と表示形式も分けてください。
金土休みなら、同じ3営業日後でも日付が変わる
WORKDAY.INTLの週末文字列は、月曜から日曜までの7文字で、1が非稼働日、0が稼働日です。金土休みなら0000110を指定します。Microsoft公式:WORKDAY.INTL(新しいタブで開く)
=WORKDAY.INTL(A2,3,"0000110",$H$2:$H$3)
この条件では、11日の日曜が1営業日目、12日は指定休日、13日が2営業日目、14日が3営業日目です。期待日は10月14日になります。日曜日を営業日とする条件を指定したからで、通常の土日休みの例と結果をそろえる必要はありません。
週末指定と会社休日は別の入力です。「金土休みにしたから、月曜の会社休日も除かれる」とは考えず、両方を確認します。
月末・年末・負数・空欄も別のケースにする
最初の一例だけでは、休日表の参照や年をまたぐ条件を確認できません。今回の架空休日表に対する期待値を追加します。次の結果は日付列挙による検算値で、Excelでの実行結果ではありません。
表は横にスクロールできます
| ケース | 条件 | 期待値 |
|---|---|---|
| 1営業日後 | 土日休み、2026-10-09から1日 | 2026-10-13 |
| 1営業日前 | 土日休み、2026-10-13から−1日 | 2026-10-09 |
| 0日 | WORKDAY.INTL、2026-10-09、土日休み | 2026-10-09 |
| 年またぎ | 土日休み、2026-12-31から1日 | 2027-01-04 |
年またぎの例では1月1日を指定休日、2日と3日を週末として飛ばします。休日表に翌年の必要な日が入っていなければ、式が同じでも期待値は変わります。
0日について、WORKDAY.INTLの公式仕様は開始日を返すと説明しています。ただし、それを「開始日が非稼働日なら次の営業日へ直す」という処理の代用にはしません。今回の0日例は金曜の開始日です。
空欄は数値0の日数指定とも別です。開始日が未入力なら空欄を返したい場合、次のようにその条件を式へ加えます。
=IF(A2="","",WORKDAY(A2,3,$H$2:$H$3))
これはA2の空欄を扱う例で、不正な文字列、エラー値、時刻の締切、日数入力の範囲まで検証する万能な式ではありません。実際のブックでは入力規則と合わせて確認します。
AIへの依頼には、式と期待値の照合を含める
Excelの営業日計算を作ってください。
目的:開始日から先へ3営業日進んだ日付。開始日を1日目にしません。
開始日:A2。土日休み。会社休日:$H$2:$H$3。
日付はExcelの日付値として入力します。
空欄なら結果も空欄にします。
出力:式、引数の説明、日付を一日ずつ追った確認表。
確認例:開始2026-10-09、休日2026-10-12なら期待日は2026-10-15。
NETWORKDAYSで同じ期間を数える場合との違いも説明してください。
祝日や会社休日を独自に追加せず、渡した休日表だけを使ってください。
Excelで実行していなければ、実測済みとは書かないでください。
コピー後はA2がA3へ動き、休日範囲は$H$2:$H$3に固定されているかを確認します。担当者が休日表を更新した場合も、式だけでなく計算条件が変わったとして、代表例を再確認してください。
日時を含む入力なら、時刻を無視してよいかも決めます。営業日単位の関数だけで「受付の翌営業日17時」などの締切をすべて表現したことにはできません。日付、時刻、受付条件を分け、未決の規則をAIに補わせないようにします。
参考資料
公式仕様の確認日:2026年10月20日。休日表と計算条件は架空例です。日付列挙の参照計算をローカルで行いました。Excel数式の実行、ブックの参照先、コピー後の動作、AI出力、画面表示は検証していません。
