スポンサーリンク

EDATE関数 – 指定した月数だけ後、または前の同日を取得する関数

関数の基礎

 

EDATE関数とは

EDATE関数とは、指定した月数の分だけ、後または前の同日の日付を返す関数です。

エクセル上での説明は下記のようになってます。

開始日から起算して、指定した月だけ前あるいは後の日付に対応するシリアル値を計算します。

かみ砕いていうと、3月の2カ月後は何月ですか?を答えてくれる関数という事です。

 

EDATE関数の使い方

まずは使い方について。

式:=EDATE(開始日,月)

直接、開始日や月を入力する場合は、開始日はダブルクオーテーションで囲みましょう。

月は囲んでも囲まなくても、どちらでも良いです。

実例を挙げると、下記のようになります。(2023/2/10の1カ月後の日付を取得する場合)

式:=EDATE("2023/2/10",1)

すると、2023/3/10という結果が返ってきます。

また、今回は西暦を使っていますが、和暦にも対応しており、R5/2/10でも、R5.2.10でも機能します。

 

そしてEDATE関数は、開始日と月のどちらにもセル参照が使えますので、式内に直接日付を入力しなくても大丈夫です。

式:=EDATE(A1,A2)

 

EDATE関数を使ってみる

使ってみると言いつつ、使い方の時点でほぼほぼ紹介は済んでしまいました。

なので、ここでは少し突っ込んだ使い方を紹介していきます。

 

1カ月前を指定

月にマイナス値を指定すると、後ではなく前を探してくれます。

例:=EDATE("2023/2/10",-1)

この場合、1カ月前が結果となるので、2023/1/10が返ってきます。

 

年をまたぐ

年をまたぐ場合、2023/13/10みたいなバカな結果にはなりませんので安心してください。

例:=EDATE("2023/12/10",1)

 

翌月の同日が無い

1カ月後に同じ日が無い場合。

たとえば=EDATE("2023/1/30",1)とした場合、2023年の2月は28日までで、2023/2/30なんていう日は存在しません。

この場合、2日オーバーしてるからといって2023/3/2という結果にはならず、あくまでも2月の範囲内で計算され、2023/2/28という結果になります。

もちろん、=EDATE("2023/3/31",-1)とした場合も、2023/2/28が結果となります。

 

月数に小数点

半月後を出したいからといって、月数に0.5を入力しても無駄です。

小数点以下は切り捨てられているようで、0.9は0、1.1は1として扱われています。

 

そもそもですが、何日後を計算したい場合は関数なんて必要ありません。

 

WORKDAY関数と組み合わせる

翌月10日の翌営業日を調べたい!という場合などは、WORKDAY関数との組み合わせで解決できます。

例として、A1セルが2023/5/1となっていて、その翌月10日の翌営業日を探してみましょう。

式:=WORKDAY(EDATE(A1+9,1)-1,1)

 

このように、土日を避けて、6/12(月)を取得することが出来ました。

更に祝日などまで考慮して翌営業日を探したい場合は、WORKDAY関数の記事を参考に、祭日についても設定してみてください。

 

エクセルで前営業日、翌営業日を探す(祝日にも対応)
エクセルで前営業日、翌営業日を探す どういう事かわかりやすくするため、具体例をあげましょう。 給料の振込が毎月25日で、その日が休日である場合は直前の平日に振り込むため、その日がいつなのかを調べたい。 (2020/1/25を指定したら、その...

 

書式設定に注意

書式って、デフォルトは標準になってるじゃないですか。

すると、EDATE関数で式を組むと、日付じゃなくて数値が表示されてしまうんですよね。

なので、EDATE関数の結果が日付ではなくシリアル値になってしまった場合は、後からでも間に合いますので、書式を日付にしてあげてください。

 

コメント

タイトルとURLをコピーしました