DateAdd関数は、「〇日後」や「〇か月前」といった日付計算を行うことができる関数です。この記事では、基本的な構文や具体的な使い方について解説します。
DateAdd関数とは
DateAdd
関数は、「指定した単位」で日時を加算または減算する関数です。

「基準となる日付」に対して、年・月・日・時間などを足したり引いたりできます。
Addは日本語で「追加」という意味があるので、そういうふうに覚えておこう。
似た関数にDateDiff
関数(日付の差を求める)がありますが、DateAdd
関数は「未来・過去の日付を求める」用途に使われます。
構文
DateAdd(単位,加算減算する数値,日時)
各構成要素の内容は次のとおりです。
引数 | 必須/任意 | 内容 |
---|---|---|
単位 | 必須 | 加算・減算する単位を指定。設定値は【表1】を参照 |
加算減算する数値 | 必須 | 加算または減算する数値。正の値で未来、負の値で過去を指定 |
日時 | 必須 | 基準となる日付。例:Date(), #2025/10/01# など |
【表1】単位の設定値
設定値 | 内容 | 説明 |
---|---|---|
yyyy | 年 | 1年単位 |
q | 四半期 | 3か月単位 |
m | 月 | 1か月単位 |
d | 日 | 1日単位 |
w | 週日 | 週単位での曜日計算 |
ww | 週 | 1週間単位 |
h | 時 | 1時間単位 |
n | 分 | 1分単位 |
s | 秒 | 1秒単位 |
具体例
DateAdd
関数の基本的な例を解説します。
具体例① 7日後の日付を求める
DateAdd("d", 7, #2025/10/01#)
【結果】
戻り値として2025/10/08
が返されます。
【解説】
単位にd
を設定することで、日部分に対する加減を行います。例では基準日(2025/10/01)から7日後を返します。
具体例② 1か月前の日付を求める
DateAdd("m", -1, #2025/10/01#)
【結果】
戻り値として2025/09/01
が返されます。
【解説】
単位にm
を設定することで、月部分に対する加減を行います。加算減算する数値にマイナス値を指定することで過去の日付が求めることができます。例では-1を指定することで、基準日(2025/10/01)に対して、1か月前を返します。
具体例③ 現在日から1週間後を求める
DateAdd("ww", 1, Date())
【結果】
実行日が2025/10/1
である場合、戻り値として2025/10/8
が返されます。
【解説】
単位にww
を設定することで、一週間単位(7日間)での加減を行います。本例では引数の日付部分にDate
関数を指定しているため、本関数実行時点の日付が基準となります。
具体例④ 今月の月末日を求める
DateAdd("d", -1, DateAdd("m", 1, DateSerial(Year(Date()), Month(Date()), 1)))
【結果】
実行日が2025/10/1
である場合、戻り値として2025/10/31
が返されます。
【解説】
DateAdd
関数と他の日付関数(Date
関数やDateSerial
関数など)を組み合わせることで、月の初日や月末日を求めることができます。
例では、まず真ん中のDataAdd
関数により翌月の初日を求めた後、左端のDateAdd
関数で1日分を減算することで、現在の月の月末日を求めています。
使用例
前述で示した例は、構文に関する基本から応用までの具体例ですが、DateAdd関数
はフォームのコントロールソース、VBA、クエリなどAccess内の様々な場所で使用することができます。ここでは、クエリで使用する例を2パターンご紹介します。
クエリでの使用例① 新規フィールドを増やすパターン

納品期限:DateAdd("d", 14, [注文日])
【解説】
商品注文状況を管理するテーブルにおいて、納品の期限日を、注文日から14日(2週間後)の日付で表示するフィールドを新たに作成するものです。
クエリでの使用例② 抽出条件で使用するパターン

<= DateAdd("d", -30, Date())
【解説】
抽出条件にDateAdd
関数を使用するパターンです。例では、本日から過去14日の間に行われた注文のみ抽出します。
まとめ
最後に記事の要点をまとめます。
DateAdd(単位, 加算・減算する数値, 基準日時)
- DateAdd関数とは
指定した単位(年・月・日・時間など)で、基準日付に加算・減算を行う関数。 - 構文
DateAdd(単位, 加算・減算する数値, 日時) - 具体例
DateAdd("d", 7, #2025/10/01#)
→ 7日後の日付を返す(例:2025/10/08)DateAdd("m", -1, #2025/10/01#)
→ 1か月前を返す(例:2025/09/01)DateAdd("ww", 1, Date())
→ 現在日から1週間後を返す- 今月の月末日を求める例:
DateAdd("d", -1, DateAdd("m", 1, DateSerial(Year(Date()), Month(Date()), 1))
)
- 使用例(応用)
- クエリで「納品期限 = 注文日 + 14日」などの新規フィールドを作る
- 抽出条件で「過去〇日以内のデータ」を指定(例:
<= DateAdd("d", -30, Date())
)