サイトについて      連絡先   検索

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

はじめに

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

基準となる日付の 1 日や月末、1 週間後、翌月など様々な日付を求められます。

年月から 1 ヵ月分の日付をカレンダーのようにすべて入力できます。

基準となる日付から求める

納品日や支払日を求める」のページでも似たような内容を紹介しています。

セル「B3」に入力された日付を基準としたときに、月末や翌月などの日付を求めるには、それぞれの関数を使用します。詳しくはその関数のぺージをご覧ください。

今日

TODAY, NOW 関数」を使用して、今日の日付や日時を入力できます。

=TODAY()
=NOW()
28

1 日

セル「B3」の年月を「YEAR, MONTH, DAY 関数」で取得します。「DATE 関数」に年月日を指定して日付にしています。第 3 引数に指定した数値が日になります。1 日なら 1 を指定します。

=DATE(YEAR(B3),MONTH(B3),1)
19

月末

EOMONTH 関数」の第 2 引数に 0 を指定すると、その月の月末を求められます。第 2 引数に指定した数値が正の値なら数か月後、負の値なら数か月前の月末を求められます。

=EOMONTH(B3,0)
20

10 日や 20 日

EOMONTH 関数」の第 2 引数に -1 を指定して前月の月末を求めます。その日に加えた数値が求めたい日になります。

=EOMONTH(B3,-1)+10
=EOMONTH(B3,-1)+20
21

数日後

セル「B3」に加えた数値が数日後になります。負の値を指定すると数日前になります。

=B3+2
22

1 週間後

セル「B3」に 7 の倍数を加えると数週間後になります。負の値を指定すると数週間前になります。

=B3+7
23

1 ヵ月後

EDATE 関数」の第 2 引数に指定した数値が数ヵ月後になります。1/31 の翌月に 31 日目がないときはその月の月末 2/28 や 2/29 などになります。

=EDATE(B3,1)
24

週末や祝日を除いた数日後

WORKDAY.INTL 関数」の第 2 引数に指定した数値が数日後になります。第 3 引数に休みの曜日を指定して、第 4 引数に休日を指定できます。休みを除いた日数の日付を求められます。

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

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

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

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

15

年をセル「B3」に、月をセル「C3」に入力します。

12

1 日目を入力します。セル「B6」に「DATE 関数」を使用して、その月の 1 日を入力します。

=DATE($B$3,$C$3,1)
13

2 日目を入力します。セル「B7」に複数の関数を使用して入力します。詳しくは下記の「数式の解説」をご覧ください。とりあえずこの数式をコピーして入力します。

=IF(B6="","",IF(MONTH(B6+1)=$C$3,B6+1,""))
14

2 日目のセル「B7」を 31 日目のセル「B36」までコピーします。これで月末までの日付が自動で入力されます。

15

月を変更すると日付も自動で変更されます。

16

日付の表示を日のみにしたいなら、セルの書式設定で [ユーザー定義] の [種類] にdを入力して [OK] をクリックします。

6

日のみの表示になります。

17

表示形式に指定できる項目は「日付の表示形式の一覧」をご覧ください。

年月をまとめてセル「B3」に入力したいときは、それぞれの数式を次のように変更します。

1 日目のセル

=DATE(YEAR($B$3),MONTH($B$3),1)

2 日目のセル

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

数式の解説

上記の数式を詳しく解説します。自分で数式やセルの位置をカスタマイズできるようになります。

1 日目に入力している数式=DATE($B$3,$C$3,1)については「DATE 関数」を使用して、その年月の 1 日を求めています。

2 日目の数式を分解して解説します。

8

MONTH(B6+1)=$C$3の部分では、月末を過ぎているかを判定しています。MONTH(B6+1)で前の日のセル「B6」の次の日の月を取得しています。それと=$C$3で入力した月のセル「C3」と比較しています。同じならその月の日付、違うなら月末を過ぎていることを表します。

27

B6+1,""の部分では、月末判定で同じ月なら次の日を表示して、過ぎていれば何も表示しません。

10

IF(B6="",""の部分では、前の日のセル「B6」が月末判定で何も表示していないなら、次の日も何も表示しないようにしています。この処理を入れないと何も表示していない次の日がエラーになります。

18