日付データに単純に足し算をすれば、n日後の日付が求められることをご紹介しました。
実務ではnヵ月後の日付を求めたいということもよくあります。
この場合は単純に30や31をを足すというわけにはいきません。
1ヵ月は、28・29・30・31日の4パターンがあるためです。
そのためにこのサイトでは以前EDATE関数を使って、nヵ月後の日付が求められることをご紹介しました。
DATE関数とMONTH関数などでnヵ月後の日付を計算する
他にもnヵ月後の日付を求める方法があります。
※A2セルに基準日、B2セルに加算したい月数が入力されているとき、C2セルにnヵ月後の日付を表示する例 C2セルに
「=DATE(YEAR(A2),MONTH(A2)+B2,DAY(A2))」
という計算式を入力
n日後を求めるために単純に足し算をしているのと比較すると、関数が合計4つも使われていて、ゴチャゴチャして見えますが決して難しいことをやっているわけではありません。
基本的には足し算なのですが、nヵ月後の日付を求めるために、元のデータを年・月・日に分解してから、月に加算をしているだけです。
DATE関数は日付を表すシリアル値求める関数で、引数に年・月・日を指定します。
上記の例では、
年に「YEAR(A2)」
月に「MONTH(A2)+B2」
日に「DAY(A2)」
を指定しています。
YEAR(A2)はA2セルの値の年の部分だけを取得
MONTH(A2)はA2セルの値の月の部分だけを取得
DAY(A2)はA2セルの値の日の部分だけを取得
しています。
つまり、基準となるA2セルに入力された値を、年・月・日バラバラにして、DATE関数の引数に利用しているわけです。
そして一番のポイントがDATE関数の第2引数「MONTH(A2)+B2」で、A2セルの値の月の部分だけを取得して、それにB2セルの値を加算しています。ここがnヵ月後を計算している部分になります。
サンプル
▼サンプルファイル(002780.xls 24KByte)ダウンロード
サンプルファイルのA2・B2セルの値を変更して、C2セルの値がどう変化するのかを是非ご確認ください。
またC3セルには、TODAY関数の入力されているA3セルを参照して、今日のnヵ月後を求める計算式を入力してありますので、合わせてご確認ください。
EDATE関数との違い
なお、以前ご紹介したEDATE関数を使ったnヵ月後の計算と、今回ご紹介した方法とでは、実は、結果が異なる部分があります。これについては近日中に別途ご紹介させていただきます。(nカ月後の日付計算の違いについて記事を公開しました。2007-10-07)
- Newer:広告が一切無いアダルトブログで月収40万。
- Older:×Ward、○Word
Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » nヵ月後の日付を求める−MONTH関数・DATE関数