11/06/2019

Access。何ヶ月後をExcelで求めるには、EDATE関数を使いますが、Accessならどうするの?【Some months later】

Access。何ヶ月後をExcelで求めるには、EDATE関数を使いますが、Accessならどうするの?

<DateAdd関数>

見積書や予定などで、今日から何ヶ月後を算出したい場合、Excelでは、EDATE関数を使うと簡単に算出することができますが、Accessでは、EDATE関数はありません。

では、Accessでは、どのようにしたら算出することができるのでしょうか?

そこで登場するのが、DateAdd関数です。

AccessのDateAdd関数は、EDATE関数のように何か月後だけを算出するのではなく、日時に、指定した単位で日数や時間を加算することができる関数です。

ですから、Excelの場合、2週間後を算出したい場合は、=TODAY()+14とすればいいわけですが、EDATE関数だけでは、算出することはできません。

しかし、Accessでは、DateAdd関数一つで済みます。

次のテーブルがあります。

DateAdd関数を説明するために、クエリを作っていきます。

最初は、1か月後を算出する演算フィールドを作ってみます。

演算フィールドには、
1か月後: DateAdd("m",1,[日付])
これで、1か月後を算出することができます。

また、2週間後だったら、
2週間後: DateAdd("d",14,[日付])
という演算フィールドで算出することができます。

それでは、実行してみましょう。

このように、1か月後や2週間後を算出することができました。

このDateAdd関数の書式や引数の単位を確認しておきましょう。

DateAdd(単位,時間,日時)
という書式になっています。ここでポイントになるのが、単位ですね。

ExcelでもDATEDIF関数で単位が登場しますが、それに似ています。

年を算出するなら、”YYYY”と”Y”が4つです。
”Y”が1つだと、年間通算日を算出してしまうので、注意する必要があります。

月は、”M”で、日が”D”。この辺はおなじみですね。
そして、便利なのが、”Q”。そう、四半期でも算出することができます。

さて、今回2週間後を算出するのに、”D”という単位を使い14を加算させましたが、実は、単位を”WW”とすると2週間後を算出することができます。

ww: DateAdd("ww",2,[日付])
という演算フィールドを作っています。

それでは確認してみましょう。

このように、2週間後を算出することができました。

一つ注意が必要なのは、”WW”という単位だということです。
“W”という単位も用意されているからです。

”W”は、週ではなくて、週日という単位で、”D”と同じで日に加算した結果を算出してしまいます。

たとえば、
w: DateAdd("w",14,[日付])
という演算フィールドを作って確認してみます。

このように、”W”は”D”と同じ結果になります。

なお、”Y”も同じ結果になります。

Accessでも、DateAdd関数をつかうことで、ExcelのEDATE関数と同じように算出することができますよ。