ぱそくま ろご
Windows > Excel > 日付計算

日付計算

日付の足し算、引き算

Excelである日付から何日前や何日後を計算する場合は、通常の足し算や引き算と同じように計算します。

10日後と10日前の計算例
ABC
1 2009/1/1 10日後 =A1+10
2 2009/1/1 10日前 =A2-10
10日後と10日前の結果
AB
1 2009/1/1 2009/1/11 0:00
2 2009/1/1 2008/12/22 0:00

計算結果の書式が自動で「yyyy/m/d h/m」となってしまうので、必要であれば書式を「yyyy/m/d」にしてください。



月の足し算、引き算

数ヵ月後や数ヶ月前を計算したい場合はDATE、YEAR、MONTH、DAY関数を使用します。ちなみにYEAR、MONTH、DAY関数は日付から年、月、日を取得します。 DATE関数は1900/1/1から引数(年、月、日)を加算した結果を返します。

数ヵ月後、数ヶ月前の計算例
ABC
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))
数ヵ月後、数ヶ月前の結果
ABC
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以下を指定すると後ろから逆算します。これを利用して最終日を取得します。

最終日の計算例
ABC
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)
最終日の計算結果
ABC
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の関数ウィザードの関数名一覧に含まれないを参照してください。

生年月日から年齢計算の例
ABC
1 =TODAY()
2
3 名前 生年月日 年齢
4 田中 太郎 1982/3/14 =DATEDIF(B4,$A$1,"y")
5 高橋 次郎 1986/11/6 =DATEDIF(B5,$A$1,"y")
年齢計算の結果
ABC
1 2009/6/27
2
3 名前 生年月日 年齢
4 田中 太郎 1982/3/14 27
5 高橋 次郎 1986/11/6 22