日々の業務でExcelを使っていると、
「納期を今日から10日後に設定したい」
「開始日と終了日から日数を計算したい」
「特定のルールに基づいて自動的に日付を出したい」
といった日付の自動計算が必要になる場面がよくあります。
この記事では、Excelで日付を自動計算する基本的な方法と、代表的な関数の使い方を丁寧に解説します!
目次
■日付の自動計算でよく使う関数一覧
関数 | 用途 |
---|---|
TODAY() | 今日の日付を自動で取得する |
NOW() | 現在の日時(時刻付き)を取得 |
DATE() | 年・月・日から日付を作成する |
EDATE() | 指定日から○か月後/前の日付を計算 |
EOMONTH() | 指定月の月末日を取得 |
WORKDAY() | 土日と祝日を除いた稼働日ベースで日付を計算 |
DATEDIF() | 2つの日付の差(日数/年齢/月数)を計算 |
【Excel】日付と年月を引き算する方法【何か月差・年数差を正確に求める】
今日から○日後・○日前を求める
✅TODAY関数の使用方法
=TODAY() + 日数
✅使用例
=TODAY() + 7 → 今日から7日後
=TODAY() - 3 → 今日の3日前
📌 TODAY関数は自動更新されるため、開いた日が常に基準日になります。
【Excel】日付が自動で変わる方法【更新日や入力日を自動化するテクニック】
開始日+日数で日付を求める
✅セルに日付のみ入力した計算方法
=開始日セル + 日数
✅使用例
=A2 + 14 → A2 の日付から14日後
📌 納期・予定・目標日など、基準日を元に日付を自動計算したい場合に便利です。
営業日ベースで日付を自動計算(WORKDAY関数)
✅WORKDAY関数の使用方法
=WORKDAY(開始日, 日数, [祝日リスト])
✅使用例
=WORKDAY(TODAY(), 5) → 今日から5営業日後
=WORKDAY(A2, 10, F2:F10) → A2日から10営業日後(F列が祝日)
✅ 土日や祝日を除外した日付を計算したいときに超便利!
月末日を求める(EOMONTH関数)
✅EOMONTH関数の使用方法
=EOMONTH(基準日, 月数)
✅使用例
=EOMONTH(A2, 0) → A2の日付の当月末
=EOMONTH(A2, 1) → 翌月末
📌 締日処理や請求書の月末期日計算に最適!
日付の差(日数)を計算する
=終了日 - 開始日
✅使用例
=B2 - A2 → A2 から B2 までの日数
✅ シンプルに日数だけを計算したい場合におすすめ。
DATEDIF関数で日数・年齢・月数を正確に出す
✅DATEDIF関数の使用方法
=DATEDIF(開始日, 終了日, "単位")
単位 | 意味 |
---|---|
"D" | 日数 |
"M" | 月数(切り捨て) |
"Y" | 年数(満年数) |
✅使用例
=DATEDIF(A2, B2, "D") → A2 から B2 までの日数
=DATEDIF(A2, B2, "M") → 月数
複数セルで自動日付計算する
作業日 | 作業日+10日後 |
---|---|
2025/03/01 | =A2 + 10 |
2025/03/15 | =A3 + 10 |
✅ セルをコピーするだけで、複数行に対応できます。
✅ よくあるエラーと対処法
エラー | 原因 | 対処法 |
---|---|---|
#VALUE! | 日付セルが文字列 or 空白 | セルの書式を「日付」にする |
#NUM! | 不正な日付や負の値 | 入力値をチェックする |
WORKDAY がうまく動かない | 祝日が正しく指定されていない | 範囲を見直す、祝日一覧を確認 |
✅ まとめ:日付自動計算でできること
やりたいこと | 数式例 | 使用関数 |
---|---|---|
今日から10日後を求める | =TODAY() + 10 | TODAY |
基準日から2か月後 | =EDATE(A1, 2) | EDATE |
当月末を求める | =EOMONTH(A1, 0) | EOMONTH |
営業日ベースで計算 | =WORKDAY(A1, 5) | WORKDAY |
日数差を出す | =B1 - A1 | ー |
年齢・経過年数を出す | =DATEDIF(A1, TODAY(), "Y") | DATEDIF |
🎯 活用シーン
納期管理、作業予定表、契約・保険更新のリマインド
月末締めの自動化
勤怠管理やスケジュール表の自動生成
顧客の年齢・サービス利用期間の計算