更新日:、 作成日:

エクセル 日付を自動で入力する

はじめに

365202120192016:対応

エクセルの日付を自動で入力する方法を紹介します。

=TODAY() のようにして、今日の日付を自動で更新できます。

=DATE(YEAR(A1),MONTH(A1),1) のようにして、基準日の 1 日や 20 日など指定の日を入力できます。

=EOMONTH(A1,0) のようにして、基準日の月末を入力できます。

=A1+1 のようにして、基準日の次の日を入力できます。

=EDATE(A1,1) のようにして、基準日の翌月を入力できます。

基準となる日付と連動して、その月の日付や数ヵ月後などを自動入力できます。

1 ヵ月分の日付や 1 年分の月をカレンダーのように自動入力できます。

日付入力の基礎や連続した日付の入力については「日付の入力方法」をご覧ください。
日付の日数を計算するには「日付の日数計算をする」をご覧ください。

日付を自動更新する

TODAY, NOW 関数」を使用して、日付を自動で更新するように入力できます。

=TODAY()
=NOW()

セルが再計算されるたびに更新されます。セルを編集したり、エクセルを開くと再計算されます。

セルの書式設定の「日付の表示形式の一覧」から日付の表示形式を設定します。

user-format

dd日 を入力して、日にちを表示できます。

40

mm月m月d日 を入力して、月を表示できます。

41

yyyyyy年yyyy年m月 を入力して、年を表示できます。

42

セルの書式設定から年月日を表示してもそのセルの値は元の日付のままです。年月日を数値として抽出するには「YEAR, MONTH, DAY 関数」を使用して、日付を年月日に分割できます。

=YEAR(TODAY())
=MONTH(TODAY())
=DAY(TODAY())
43

日付を自動入力する

開始日などを基準にして、その月の 1 日や月末、数ヵ月後などの日付を計算する方法を紹介します。

基準日を翌月にすると、それに連動して求められる日付も自動で入力されます。

今日や明日

TODAY 関数」を使用して今日の日付を入力します。1 を足すと明日です。1 を引くと昨日です。

=TODAY()
=TODAY()+1
=TODAY()-1

セルが再計算されるたびに更新されます。セルを編集したり、エクセルを開くと再計算されます。

51
今日の日時や時間を入力するには「今日の日付を入力する」をご覧ください。

1 日や 20 日

基準日の年月を「YEAR, MONTH, DAY 関数」から取得します。それを「DATE 関数」を使用して 1 日や 20 日の日付を入力します。

=DATE(YEAR(B3),MONTH(B3),1)
=DATE(YEAR(B4),MONTH(B4),20)
44

月末

基準日の月末を「EOMONTH 関数」を使用して入力します。第 2 引数に 0 を入力してその月の月末を取得できます。

=EOMONTH(B3,0)
45

数日後

基準日に日数を足し算すると数日後の日付になります。1 を足すと次の日です。引き算すると数日前の日付になります。1 を引くと前の日です。

=B3+1
=B3-1
46

休日を除いた営業日数後

WORKDAY.INTL 関数」の第 2 引数に営業日数を入力して数日後の日付になります。第 3 引数に休みの曜日を入力して、第 4 引数に休日を入力できます。詳しくは関数のページをご覧ください。

=WORKDAY.INTL(B3,5,"0000011")
50

1 週間後

数日後と方法は同じです。7 の倍数の日数を足し算すると数週間後の日付になります。7 を足すと 1 週間後の日です。引き算すると数週間前の日付になります。7 を引くと 1 週間前の日です。

=B3+7
=B3-7
47

1 ヵ月後

3/31 の 1 ヵ月後を 4/30 にするか 5/1 にするかで方法が変わります。月末以外はどちらの方法も同じ結果になります。

4/30 にするには「EDATE 関数」を使用して入力します。第 2 引数に月数を入力して数ヵ月後の日付になります。1 なら 1 ヵ月後です。

=EDATE(B3,1)
=EDATE(B5,-1)

5/1 にするには「DATE 関数」を使用して入力します。第 2 引数に月数を足し算して数ヵ月後の日付になります。+1 なら 1 ヵ月後です。

12/31 の前の月は 12/1 になります。11 月は 30 日までなので、余った 1 日を足します。

=DATE(YEAR(B4),MONTH(B4)+1,DAY(B4))
=DATE(YEAR(B6),MONTH(B6)-1,DAY(B6))
48

1 年後

1 ヵ月後と基本は同じです。

2/29 の 1 年後を 2/28 にするか 3/1 にするかで方法が変わります。うるう年以外はどちらの方法も同じ結果になります。

2/28 にするには「EDATE 関数」を使用して入力します。第 2 引数に 12 の倍数の月数を入力して数年後の日付になります。12 なら 1 年後です。

=EDATE(B3,12)
=EDATE(B5,-12)

3/1 にするには「DATE 関数」を使用して入力します。第 1 引数に年数を足し算して数年後の日付になります。+1 なら 1 年後です。

2/29 の前の年は 3/1 になります。前の年の 2 月は 28 日までなので、余った 1 日を足します。

=DATE(YEAR(B4)+1,MONTH(B4),DAY(B4))
=DATE(YEAR(B6)-1,MONTH(B6),DAY(B6))
49

1 ヵ月分の日付を自動入力する

年月からカレンダーのように 1 日から月末までを自動で入力できます。

セル「B3」には日付を年月として表示しています。日にちは 1 日です。この日を参照するにはセル参照するだけです。

=B3

セル「C3」と「D3」は年月の数値です。この日を参照するには「DATE 関数」を使用します。

=DATE(C3,D3,1)
52

基準となる年月の 1 日を元に日付を自動入力する方法を紹介します。

2021 以降

この方法は 365 または 2021 から使用できます。

SEQUENCE 関数」を使用して、1 日から月末までの日付を入力します。結果が「スピル」します。

=SEQUENCE(DAY(EOMONTH(B3,0)),1,B3)
=SEQUENCE(DAY(EOMONTH(DATE(C3,D3,1),0)),1,DATE(C3,D3,1))
53

結果が数値になるときは、セルの書式設定から日付にします。

2019 以前

この方法はすべてのバージョンで使用できます。

1 日目となる日付を年月から入力します。

=B3
=DATE(C3,D3,1)
54

2 日目となる日付を「IF 関数」を使用して入力します。

=IF(B5="","",IF(MONTH(B5+1)=MONTH($B$3),B5+1,""))
=IF(C5="","",IF(MONTH(C5+1)=$D$3,C5+1,""))
55

2 日目を 31 日目までコピーします。

56

数式の解説をします。月末を過ぎたときに日付を表示しないようにするために「IF 関数」を使用しています。

=IF(B5="","",IF(MONTH(B5+1)=MONTH($B$3),B5+1,""))

IF(MONTH(B5+1)=MONTH($B$3) の部分で今月の日にちかを判定しています。次の日の「月」と基準日の「月」が同じかどうかを比較します。

,B5+1,"")) の部分で今月なら次の日を、月末を過ぎているなら空文字 "" を表示します。

=IF(B5="","" の部分で前の日が月末を過ぎているなら空文字 "" を表示します。

1 年分の年月を自動入力する

年からその年の 1 ~ 12 月までを自動で入力できます。

セル「B3」には日付を年として表示しています。月と日は使用しないため 1 月 1 日にしています。年を参照するには「YEAR 関数」を使用します。

=YEAR(B3)

セル「C3」は年の数値です。この年を参照するにはセル参照するだけです。

=C3
57

基準となる年を元に月を自動入力する方法を紹介します。

2021 以降

この方法は 365 または 2021 から使用できます。

SEQUENCE 関数」を使用して、1 ~ 12 月までの日付を入力します。結果が「スピル」します。

=DATE(YEAR(B3),SEQUENCE(12,1),1)
=DATE(C3,SEQUENCE(12,1),1)
58

横方向に表示するには次のようにします。

=DATE(YEAR(B3),SEQUENCE(1,12),1)
=DATE(C3,SEQUENCE(1,12),1)

結果が数値になるときは、セルの書式設定から日付にします。

2019 以前

この方法はすべてのバージョンで使用できます。

DATE 関数」を使用して、1 月となる日付を年から入力します。

=DATE(YEAR(B3),1,1)
=DATE(C3,1,1)
59

2 月となる日付を入力します。

=DATE(YEAR(B5),MONTH(B5)+1,1)
=DATE(YEAR(C5),MONTH(C5)+1,1)
60

2 月を 12 月までコピーします。

61