Excelで日付に日数を足すなら、基本は =A2+7 の足し算だけでOKです。月単位で足すならEDATE、土日祝を飛ばした営業日で足すならWORKDAY。足したい「単位」で関数を切り替えるだけで、納期計算も契約更新日も自動化できます。
日付計算は「関数を覚える」より「どの単位で足したいのか」を決めるほうが先です。日・月・年・営業日で正解の関数が変わるので、その分岐だけ頭に入れておけば迷いません。
▲ Date and Time サンプル
目次
- 目次
- 日付の足し算が「+」でできる理由
- 日単位で足す:基本の足し算
- 月単位で足す:EDATE
- 年単位で足す:EDATEかDATE
- 営業日で足す:WORKDAY
- 実務での通し例:発注から請求まで
- つまずきやすい3つのポイント
- 使い分け早見表
- まとめ
- 関連記事
- あわせてチェック
日付の足し算が「+」でできる理由
Excelの日付は、見た目こそ「2026/8/28」ですが、中身はシリアル値という単なる数値です。1900年1月1日を1として、1日進むごとに1ずつ増えます。2026年8月28日なら46262という数字が入っています。
数値である以上、四則演算がそのまま使えます。ここが日付計算のすべての土台です。
日単位で足す:基本の足し算
A2に基準日が入っているとして、一番シンプルなパターンです。
=A2+7 7日後 =A2+30 30日後 =A2-1 前日 =TODAY()+14 今日から14日後
TODAY関数は引数なしで今日の日付を返します。=TODAY()-A2 なら「基準日から今日まで何日経ったか」が出ます。
期間の日数も同じ考え方で =B2-A2 と引き算するだけ。ただし「初日を含めた日数」が欲しい場合は =B2-A2+1 にしてください。8/1から8/3を「3日間」と数えるか「2日後」と数えるかは、実務では地味に揉めるポイントです。
月単位で足す:EDATE
「3か月後」を =A2+90 で計算するのは誤りです。月の日数は28〜31日でバラバラなので必ずズレます。
=EDATE(A2, 3) 3か月後 =EDATE(A2, -6) 6か月前 =EDATE(A2, 12) 1年後
第2引数に月数を入れるだけ。マイナスなら過去に遡れます。契約更新日、サブスクの請求日、保証期限はこれ一本で処理できます。
月末日を足すときの挙動
EDATEは日付部分を維持しようとするため、1月31日に1か月足すと存在しない2月31日ではなく、2月28日(うるう年なら29日)に丸められます。
「毎月末日」を出したいなら、EOMONTHを使うのが確実です。
=EOMONTH(A2, 0) 当月の月末日 =EOMONTH(A2, 1) 翌月の月末日 =EOMONTH(A2, 0)+1 翌月の1日
EOMONTH(A2,1) は翌月末なので、これに+1すると翌々月の1日になってしまいます。「翌月1日」は当月末(第2引数0)に+1が正解です。締め日が月末の請求書テンプレートは、これで年をまたいでも壊れません。
年単位で足す:EDATEかDATE
「1年後」は =EDATE(A2, 12) が最短です。年を明示したいならDATE関数で組み立てる方法もあります。
=DATE(YEAR(A2)+1, MONTH(A2), DAY(A2))
YEAR・MONTH・DAYで分解し、年だけ+1して組み直す形です。「どこを動かしているか」がひと目で分かる反面、うるう年で挙動が変わります。2024/2/29に使うと存在しない2025/2/29が繰り上がって2025/3/1を返します。同じ日付にEDATEを使えば2025/2/28です。契約満了日のように「うるう年でも月内に収めたい」場面ではEDATEを選んでください。
営業日で足す:WORKDAY
「発注から5営業日後に納品」のように土日祝を飛ばすならWORKDAY関数です。
=WORKDAY(A2, 5) 5営業日後(土日を除外) =WORKDAY(A2, 5, $F$2:$F$20) 祝日リストも除外 =WORKDAY(A2, -5) 5営業日前(納期から着手日を逆算)
第3引数に祝日を並べたセル範囲を渡すと、その日付もスキップします。シートの隅に「祝日」列を作り、$ で絶対参照にしておけば下方向にコピーしてもズレません。マイナスを入れれば逆算もでき、納期から着手日を割り出すのに便利です。
営業日数を数える:NETWORKDAYS
=NETWORKDAYS(A2, B2, $F$2:$F$20)
注意点は、開始日と終了日の両方を含んでカウントすることです。8/3(月)〜8/7(金)は「5」を返します。日単位の引き算が「差」を返すのに対し、こちらは最初から「日数」を返す設計なので、+1 は不要です。ここを混同すると工数見積もりが1日ズレます。
土日以外を休みにしたい場合
シフト制や水曜定休の職場ではWORKDAY.INTLを使い、第3引数で休日パターンを指定します。
=WORKDAY.INTL(A2, 5, "0010000") 水曜のみ定休(月曜始まり7文字、1が休み) =WORKDAY.INTL(A2, 5, "0000010") 土曜のみ休み =WORKDAY.INTL(A2, 5, 11) 日曜のみ休み(番号指定)
文字列指定は月〜日の7文字で、休む曜日を1にします。番号指定は覚えるのが手間なので、迷ったら文字列指定に統一するほうが確実です。
実務での通し例:発注から請求まで
各関数は組み合わせてこそ効きます。1行で完結する納期・請求管理はこう組みます。
| 列 | 項目 | 数式 |
|---|---|---|
| A2 | 発注日 | 手入力 |
| B2 | 納品日(5営業日後) | =WORKDAY(A2,5,$F$2:$F$20) |
| C2 | 締め日(納品月の月末) | =EOMONTH(B2,0) |
| D2 | 支払期日(翌月末) | =EOMONTH(B2,1) |
| E2 | 着手期限(納品の3営業日前) | =WORKDAY(B2,-3,$F$2:$F$20) |
A2に日付を入れるだけで、納品・締め・入金・着手期限まで自動で埋まります。F列に祝日を並べておけば、年が変わってもリストを差し替えるだけで使い続けられます。
つまずきやすい3つのポイント
結果が5桁の数字になる
=A2+7 の結果が「46269」と表示されたら、セルの表示形式が標準になっているだけです。Ctrl + Shift + 3 を押すか、「ホーム」タブから「短い日付形式」を選べば直ります。計算自体は合っているので、数式を書き直す必要はありません。
TODAYは開くたびに変わる/NOWは時刻を含む
TODAY関数は再計算のたびに更新される揮発性関数です。「入力した日を記録したい」用途には向きません。その場合は Ctrl + ; で日付を値として入力します。
似た関数のNOWは時刻まで含む点に注意してください。=NOW()-A2 は小数(時間の端数)を含むため、「期限まであと何日」の比較で意図せず1日ズレることがあります。日付だけを扱いたい場面では必ずTODAYを使うか、=INT(NOW()) で切り捨ててください。
文字列の日付には足せない
他システムからコピーした「2026年8月28日」や「2026.08.28」は、見た目が日付でも文字列のことがあります。セルが左寄せなら文字列のサインです。
DATEVALUE関数で変換するか、「データ」→「区切り位置」で最後に「日付」を指定して一括変換します。文字列のまま足すと #VALUE! エラーになります。
使い分け早見表
| やりたいこと | 使う関数 | 例 |
|---|---|---|
| ○日後 | 足し算 | =A2+7 |
| 今日から○日後 | TODAY | =TODAY()+30 |
| ○か月後 | EDATE | =EDATE(A2,3) |
| ○年後 | EDATE | =EDATE(A2,12) |
| 月末日 | EOMONTH | =EOMONTH(A2,0) |
| 翌月1日 | EOMONTH | =EOMONTH(A2,0)+1 |
| ○営業日後 | WORKDAY | =WORKDAY(A2,5,$F$2:$F$20) |
| ○営業日前 | WORKDAY | =WORKDAY(A2,-5,$F$2:$F$20) |
| 営業日数を数える | NETWORKDAYS | =NETWORKDAYS(A2,B2,$F$2:$F$20) |
| 休日を自由指定 | WORKDAY.INTL | =WORKDAY.INTL(A2,5,"0010000") |
まとめ
日付の加算は「単位を決めれば関数が決まる」構造です。日ならそのまま足す、月と年ならEDATE、営業日ならWORKDAY。この3分岐で大半の実務は片付きます。
そのうえで、月末処理にはEOMONTH、土日以外の休みにはWORKDAY.INTLを押さえておけば、テンプレートが年をまたいでも壊れません。まずは手元の管理表で =TODAY()+30 を試し、次に上の通し例をそのまま1行組んでみてください。期限管理の自動化はそこから始まります。
関連記事
- Excelで特定の曜日を除いて日数を足す方法|水曜定休もWORKDAY.INTLで一発
- Excelで「5営業日後」を出す方法|WORKDAY関数で土日祝スキップ
- Excel×Claude×Power Automateで日次レポートを全自動化|5アクションで組む手順とハマりどころ5つ
- Excel LAMBDA・LET関数の作り方|Claudeに設計を頼めば自作関数はすぐ完成する
- Excelのセルに =CLAUDE_ASK と書くだけ|xlwingsでAIを表計算に組み込む