月の足し算、引き算
数ヵ月後や数ヶ月前を計算したい場合はDATE、YEAR、MONTH、DAY関数を使用します。ちなみにYEAR、MONTH、DAY関数は日付から年、月、日を取得します。
DATE関数は1900/1/1から引数(年、月、日)を加算した結果を返します。
数ヵ月後、数ヶ月前の計算例
| A | B | C |
1 |
DATE関数例1 |
|
=DATE(0,1,1) |
2 |
DATE関数例2 |
|
=DATE(1,2,3) |
3 |
2009/1/1 |
6ヵ月後 |
=DATE(YEAR(A3),MONTH(A3)+6,DAY(A3)) |
4 |
2009/1/1 |
6ヵ月前 |
=DATE(YEAR(A4),MONTH(A4)-6,DAY(A4)) |
5 |
2009/1/30 |
1ヵ月後 |
=DATE(YEAR(A5),MONTH(A5)+1,DAY(A5)) |
数ヵ月後、数ヶ月前の結果
| A | B | C |
1 |
|
|
1900/1/1 |
2 |
|
|
1901/2/3 |
3 |
2009/1/1 |
|
2009/7/1 |
4 |
2009/1/1 |
|
2008/7/1 |
5 |
2009/1/30 |
|
2009/3/2 |
月の最後日
DATE関数の引数の月と日には0以下を指定できます。0以下を指定すると後ろから逆算します。これを利用して最終日を取得します。
最終日の計算例
| A | B | C |
1 |
2009/1/1 |
1日前 |
=DATE(YEAR(A1),MONTH(A1),0) |
2 |
2009/1/1 |
2日前 |
=DATE(YEAR(A2),MONTH(A2),-1) |
3 |
2008/2/5 |
うるう年2月 |
=DATE(YEAR(A3),MONTH(A3)+1,0) |
4 |
2009/2/5 |
通常の2月 |
=DATE(YEAR(A4),MONTH(A4)+1,0) |
最終日の計算結果
| A | B | C |
1 |
2009/1/1 |
|
2008/12/31 |
2 |
2009/1/1 |
|
2008/12/30 |
3 |
2008/2/5 |
|
2008/2/29 |
4 |
2009/2/5 |
|
2009/2/28 |
うるう年もきちんと考慮してくれます。
生年月日から年齢を計算
生年月日から年齢を計算するにはDATEDIF関数を使用します。Excel2000まではヘルプがありましたが、2002以降からヘルプに載らなくなりました。
気になる方はMicrosoftの関数ウィザードの関数名一覧に含まれないを参照してください。
生年月日から年齢計算の例
| A | B | C |
1 |
=TODAY() |
|
|
2 |
|
|
|
3 |
名前 |
生年月日 |
年齢 |
4 |
田中 太郎 |
1982/3/14 |
=DATEDIF(B4,$A$1,"y") |
5 |
高橋 次郎 |
1986/11/6 |
=DATEDIF(B5,$A$1,"y") |
年齢計算の結果
| A | B | C |
1 |
2009/6/27 |
|
|
2 |
|
|
|
3 |
名前 |
生年月日 |
年齢 |
4 |
田中 太郎 |
1982/3/14 |
27 |
5 |
高橋 次郎 |
1986/11/6 |
22 |