更新日:、 作成日:

エクセル DATE 関数:日付の入力や計算をする

はじめに

エクセルの DATE 関数の使い方を紹介します。

DATE 関数は日付の入力や計算した結果を取得します。

=DATE(2000,1,2) のようにして、2000/1/2 の日付を入力できます。

=DATE(A1,A2,A3) のようにして、セルに入力された年月日を日付に変換できます。

=DATE(A1,A2,A3+1) のようにして、日付に 1 日を加えた日付を取得できます。

文字列から日付に変換できます。日時を入力できます。うるう年に対応しています。

時間を入力するには「TIME 関数」を使用します。
月末や数日後の日付を入力する方法は「日付を自動で入力する」をご覧ください。

DATE 関数の引数

DATE(, , )
指定したの日付を取得します。

引数「年」年の値を指定します。
0 ~ 1899 の値を指定したときは、その値に 1900 を加えた年になります。
スピル化
引数「月」月の値を指定します。
12 より大きい値や、1 より小さい値にも対応しています。
スピル化
引数「日」日の値を指定します。
31 より大きい値や、1 より小さい値にも対応しています。
スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

使い方

DATE 関数の使い方を紹介します。

セルの年月日から日付に変換する

セルに入力された年月日を日付に変換します。

=DATE(B3,C3,D3)
20

入力した年月日から日付に変換する

年月日を入力して日付に変換します。

=DATE(2000,3,4)

数式や関数に直接日付を入力するのに使用します。

10

年を指定して日付に変換する

年を指定して日付に変換します。

=DATE(B3,C3,D3)

1900 より小さい値は 1900 を足した年になります。

21

月を指定して日付に変換する

月を指定して日付に変換します。

=DATE(B3,C3,D3)
22

日を指定して日付に変換する

日を指定して日付に変換します。

=DATE(B3,C3,D3)
23

日時を入力する

年月日と時分秒から日時を入力します。「TIME 関数」を使用して、時分秒を時間に変換できます。

=DATE(B3,C3,D3)+TIME(E3,F3,G3)

結果が数値になっているのは、日付の実際の値は数値なのでその値を取得します。セルの書式設定から日時形式で表示できます。

31

高度な使い方

DATE 関数と他の関数を組み合わせた使い方などを紹介します。

日付を取得する

日付や時間から日付の部分だけを取得します。「YEAR, MONTH, DAY 関数」を使用して、年月日に分割できます。

=DATE(YEAR(B3),MONTH(B3),DAY(B3))
27

位置が決まっている文字列から日付に変換する

2000ねん01がつ02にち のように、年月日の位置が決まっている文字列を日付に変換します。「MID 関数」を使用して、その位置の文字列を抽出できます。

=MID(B2,1,4)
=MID(B3,7,2)
=MID(B4,11,2)

それを DATE 関数で日付に変換します。

=DATE(C5,D5,E5)
=DATE(MID(B5,1,4),MID(B5,7,2),MID(B5,11,2))
24

位置が決まっていない文字列から日付に変換する

日付の位置が決まっていなくても区切り文字がある文字列を日付に変換します。「FIND 関数」を使用して、区切り文字の位置を取得できます。

=MID(B2,1,FIND("年",B2)-1)
=MID(B3,FIND("年",B3)+1,FIND("月",B3)-FIND("年",B3)-1)
=MID(B4,FIND("月",B4)+1,FIND("日",B4)-FIND("月",B4)-1)

それを DATE 関数で日付に変換します。

=DATE(C5,D5,E5)
25

数日後の日付を計算する

日付の日を計算した日付を取得します。「YEAR, MONTH, DAY 関数」を使用して、年月日に分割できます。日付 + 日数 でも同じ結果になります。

=DATE(YEAR(B3),MONTH(B3),DAY(B3)+C3)
=B4+C4
28

数ヵ月後の日付を計算する

日付の月を計算した日付を取得します。「YEAR, MONTH, DAY 関数」を使用して、年月日に分割できます。「EDATE 関数」を使用して、月末を考慮できます。

=DATE(YEAR(B3),MONTH(B3),DAY(B3)+C3)
=EDATE(B4,C4)

DATE 関数だと 1/31 の 1 ヵ月後は 2/31 です。その日は存在しないので 2/29 から存在しない 30 と 31 の 2 日を加えた 3/2 です。

29

数年後の日付を計算する

日付の年を計算した日付を取得します。「YEAR, MONTH, DAY 関数」を使用して、年月日に分割できます。

=DATE(YEAR(B3)+C3,MONTH(B3),DAY(B3))

2/29 の 1 年後は 3/1 になります。

30

解説

エクセルで扱える日付の範囲は 1900/1/19999/12/31 です。

時間のみ入力したときの日付が 1900/1/0 です。0 日は日付なしを表しています。

引数「年」が 01899 なら、その値に 1900 を加えた年になります。11901

引数「年」がマイナスの値のときはエラー #NUM! になります。

引数「月」が 0 以下なら、その値に 1 を引いた値を月数から引きます。2000/0/11999/12/1

引数「月」が 13 以上なら、12 を超えた月数を加えます。2000/13/12001/1/1

引数「日」が 0 以下なら、その値に 1 を引いた値を日数から引きます。2000/1/01999/12/31

引数「日」が月末より大きい値なら、月末を超えた日数を加えます。2000/1/322000/2/1

引数が文字列のときはエラー #VALUE! になります。

結果がエクセルで扱えない日付になるときはエラー #NUM! になります。