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関数の記事を参考に、祭日についても設定してみてください。
書式設定に注意
書式って、デフォルトは標準になってるじゃないですか。
すると、EDATE関数で式を組むと、日付じゃなくて数値が表示されてしまうんですよね。
なので、EDATE関数の結果が日付ではなくシリアル値になってしまった場合は、後からでも間に合いますので、書式を日付にしてあげてください。
コメント