Spreadsheet

Excelの営業日計算をAIで作る方法|日付と日数を同じ例で検算

架空の会社休日でWORKDAYとNETWORKDAYSを照合。金曜から3営業日後、期間内4営業日、金土休み、年またぎを日付一覧で確認します。

AIものさし編集部

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出力、画面表示は検証していません。

次に読む・使う

この記事の次に必要な情報へ進めます。