らくらくIT活用術

PC活用講座 - Excel

「Excelの便利機能活用術」
EDATE関数で「~カ月後」の日付を求める

ITライター 立山秀利

Excelで「~カ月後」の日付を求めたい場合、月ごとに日数が異なる関係上、単純な数式では正確に求められないことが多い。その場合はEDATE関数を使うと、正確かつ効率よく求めることができる。今回は同関数の使い方を解説する。

指定した月数後の日付を求める

Excelで日付を管理する際、例えば2カ月後など、指定した月の数だけ後の日付を求めたい場合がある。例えば、有効期限が2カ月のクーポンがあり、発行日から具体的な有効期限の日付を求めたいとする。

そのような場合に便利な関数がEDATE関数だ。指定した開始日を基準に、指定した月数だけ後の日付を返す関数である。
----------------------------------------
=EDATE(開始日,月)

開始日 基準となる日付
月   月の数
----------------------------------------

引数「開始日」には、基準となる日付を「西暦年/月/日」の形式で入力すればよい。

例えば、先述の例において、B2セルにクーポンの発行日として日付「2016/7/10」が入力されており、C2セルに有効期限である2カ月後の日付を求めたいとする。この場合、C2セルにはEDATE関数による次の数式を入力すればよい。
----------------------------------------
=EDATE(B2,2)
----------------------------------------

引数「開始日」には、クーポンの発行日が入力されているB2セルを指定。引数「月」には、2カ月後の数値である「2」を指定すればよい。すると、C2セルには2016/7/10の2カ月後である2016/9/10が表示される。

図

(画像をクリックすると拡大表示します)

なお、EDATE関数で得られる日付は、標準の表示形式では整数の値がそのまま表示されてしまう。日付の形式で表示するには、セルの表示形式を[短い日付形式]など、日付の形式に設定する必要がある。

図

(画像をクリックすると拡大表示します)

月の日数の違いを自動で調整

EDATE関数は、月をまたいで指定した日付を求めたい場合に重宝される。例えば、先ほどの例のB3セルには、7月の末日である日付「2016/7/31」が入力されている。7月の2カ月後は9月だが、9月の日数は30日までなので末日は9月30日としたい。

そういう場合には、C3セルにEDATE関数の数式を入力すると、7月と9月の日数の違いを自動で調節し、「2016/9/30」という日付が正確に得ることができるのだ。
----------------------------------------
=EDATE(B3,2)
----------------------------------------

図

(画像をクリックすると拡大表示します)

また、EDATE関数は指定した月の数だけ前の日付を求めることも可能だ。月の数にマイナスの値を指定すればよい。例えば先ほどの例で、有効期限の1カ月前にリマインドのお知らせを送りたい場合、その具体的な日付D2~3セルに求めるとする。この場合、例えばD2セルなら次のEDATE関数の数式を入力すればよい。引数「月」には1カ月前ということで、「-1」とマイナスの数値を指定する。

----------------------------------------
=EDATE(C2,-1)
----------------------------------------

図

(画像をクリックすると拡大表示します)

このように、EDATE関数を使えば、指定した月数だけ後/前の正確な日付を効率的に求めることができる。

その他の【Excel】を見る

PC活用講座 一覧へ

立山秀利(たてやま・ひでとし)

カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。

(監修:日経BPコンサルティング)