年間カレンダーをExcelで作る。第5営業日は月によって5日から12日まで動く

2026-09-21Excelの使い方

月次の作業を第5営業日と決めても、実際の日付は毎月違う。2026年度で計算したら、第5営業日は最も早い月で5日、遅い月では12日だった。7日も動く。

年度の初めに年間カレンダーを1枚作っておけば、この日付が全部出る。作るのは12行の表で、入力するのは年度の開始日だけだ。

祝日の一覧から年間カレンダーを作り、月ごとの営業日数、第N営業日、月末営業日を引く

以下の計算は、2026年9月21日にMicrosoft 365のExcel(バージョン16)で行った。祝日は内閣府の一覧を使い、2026年度の12か月分を出した。

入力するのは年度の開始日だけ

表は12行にする。1行が1か月だ。

年度の開始日を1つのセルに置いて、各行の月初をEDATEで作る。

月初: =EDATE($開始日,0)  ~ =EDATE($開始日,11)
月末: =EOMONTH($開始日,0) ~ =EOMONTH($開始日,11)

EDATEの2つ目の引数に0から11を入れると、12か月分が並ぶ。年度を変えるときは開始日のセルだけ書き換える。

祝日は別シートに1列で持つ。内閣府が公開しているCSVをそのまま貼れる。貼り方は祝日を判定する記事に書いた。

営業日数と第N営業日を出す

営業日数はNETWORKDAYSで出る。

=NETWORKDAYS(月初,月末,祝日!$A:$A)

第N営業日はWORKDAYを使う。月初の前日を起点にして、N営業日進める。

第1営業日:  =WORKDAY(月初-1,1,祝日!$A:$A)
第5営業日:  =WORKDAY(月初-1,5,祝日!$A:$A)
第10営業日: =WORKDAY(月初-1,10,祝日!$A:$A)

起点を月初-1にするのが要点だ。月初そのものを起点にすると、月初が営業日のときに1日ずれる。

月末営業日は逆向きに1営業日戻す。

=WORKDAY(月末+1,-1,祝日!$A:$A)

この4本を12行にコピーすれば、年間カレンダーができる。

営業日数は月によって5日違う

2026年度で計算した。年間の営業日数は244日、暦日数は365日だった。

2026年度の月ごとの営業日数。12月が23日でいちばん多く、5月と2027年2月が18日で最少

いちばん多いのが12月の23日、いちばん少ないのが5月と2027年2月の18日。差は5日ある。

5月が少ないのは連休があるからだ。この月だけ祝日が4日ある。2月は暦日数そのものが28日しかない。

営業日数が違えば、1日あたりの処理量も違う。月の作業量が同じなら、5月と2月は1日あたり2割増しになる。月初に作業を寄せている職場では、ここで詰まる。

第5営業日は5日から12日まで動く

日付の動きを見ると、決め方の影響がはっきりする。

第5営業日の日にちを12か月分並べたら、最も早い月が5日で、最も遅い月が12日だった。7日の幅がある。

いちばん遅い5月は、連休をまたぐので12日になる。6月と2027年2月と3月は5日だ。

月次の締めを第5営業日と決めている職場なら、5月だけ12日まで作業が続く。その先の支払や報告の日程も、その分ずれる。年度の初めにこの表を見ておけば、5月が厳しいことが4月の時点で分かる。

第10営業日も同じように動いた。8月は17日、10月は15日、6月は12日になる。

日付から、第何営業日かを逆に出す

先方から「5月12日までに」と言われたとき、それが第何営業日かをすぐ知りたい。逆引きもNETWORKDAYSで出る。

その月の第何営業日か: =NETWORKDAYS(EOMONTH(日付,-1)+1,日付,祝日!$A:$A)
月末まであと何営業日: =NETWORKDAYS(日付,EOMONTH(日付,0),祝日!$A:$A)-1

EOMONTH(日付,-1)+1が、その日付の属する月の1日になる。前月の末日に1を足すだけだ。

2026年5月12日で試したら、第5営業日と出た。月末まではあと13営業日ある。

この2つを出しておくと、期日の相談がしやすくなる。第5営業日までと言われたのか、5月12日までと言われたのかで、翌月以降の意味が変わる。

営業日数の少ない月は、1日あたり27%増える

月の作業量が同じなら、営業日数の少ない月ほど1日が重くなる。どれくらい重くなるかを出しておく。

月160時間の作業がある前提で計算した。営業日18日の5月は1日8.9時間、23日の12月は1日7.0時間になる。差は1.9時間で、27.1%増だ。

=ROUND(月の作業量/その月の営業日数,1)

27%増えるということは、8時間の日が10時間になるということだ。5月は連休明けで仕事が溜まっているうえに、営業日が少ない。

年間カレンダーにこの列を足しておくと、年度の初めに厳しい月が分かる。作業を前倒しできるものは4月にやる、外注を入れるなら5月に合わせる、といった判断ができる。

毎月同じ量とは限らないので、実績が取れているなら月ごとの作業量を入れる。取れていないなら、まず同じ量で置いて、差の大きい月だけ見る。

決め方を日付にするか営業日にするか

同じ「毎月の締め」でも、15日と決めるのと第10営業日と決めるのでは性質が違う。

日付で決めると、その日が土日祝に当たる月がある。前倒しか後ろ倒しかを毎回決めることになる。

営業日で決めると、休みの日に当たることはないが、日付が動く。取引先に日付を伝えるときは、毎月その月の日付を調べて伝える必要がある。

どちらがいいかは相手による。社内の作業は営業日、社外に伝える期日は日付、という分け方にしている。社外の日付が土日に当たったときの扱いは、契約や取引の条件で決まる。契約の期限管理の記事に書いた通知の締切も、同じ考え方で前営業日に詰める。

祝日の一覧は2年先までしかない

作るときに引っかかるのがここだ。内閣府が公開している祝日のCSVは、先の年までは載っていない。

手元のデータは2026年9月に取得したもので、2025年1月から2027年11月までの54件しか入っていなかった。2028年の祝日は1件もない。

この状態で2027年度のカレンダーを作ると、2028年1月から3月の祝日が全部抜ける。元日も成人の日も営業日として数えられる。営業日数が3日ほど多く出て、第N営業日も早くなる。

対策は2つある。カレンダーを作るのは翌年度分までにして、その先は作らない。もう1つは、祝日の一覧の最終日をセルに出しておいて、カレンダーの範囲がそれを超えていたら警告を出す。

=IF(MAX(祝日!$A:$A)<EOMONTH($開始日,11),"祝日が足りない","")

年度の初めにこの1行を見る。春分の日と秋分の日は年によって日付が変わるので、自分で推測して足さない。

踏んだ失敗

WORKDAYの起点を月初にしていたことがある。月初が営業日の月だけ、第5営業日が1日早く出た。全部ずれるなら気づくが、月によって合ったり合わなかったりするので、原因を探すのに時間がかかった。

祝日の範囲を確かめずに翌々年度のカレンダーを作ったこともある。営業日数が多めに出て、その前提で作業計画を組んだ。年が明けて祝日を足したら、計画が3日分足りなかった。

年度の開始日を各行に直接書いていた年もある。4月から3月まで12個の日付を手で入れた。翌年度に作り直すときに、12か所を書き換えることになった。開始日を1つのセルにしてEDATEで作れば、1か所で済む。

第何営業日という決め方を全部の作業に適用していたこともある。取引先への支払日まで営業日で決めていたので、毎月日付が変わって先方が混乱した。月次の作業の組み方は月次の締めの記事に書いた。

確認していないこと

会社の所定休日は入れていない。年末年始の休みや夏季休暇がある職場では、その日も休みの一覧に足す必要がある。祝日のシートに行を足せば同じ式で扱える。

土日以外を休みにしている職場も扱っていない。NETWORKDAYS.INTLWORKDAY.INTLを使えば週末の曜日を指定できるが、今回は試していない。

会社によって年度の開始が4月でない場合もある。上の式は開始日のセルを変えれば動くはずだが、1月開始の年度では確かめていない。

祝日が移動する場合の扱いも確認していない。オリンピックの年のように、特別法で祝日が動くことがある。内閣府のCSVを取り直せば反映されるが、取り直す時期を決めていない。

年間カレンダー営業日Excel締め日WORKDAY