エクセル関数で日付と曜日を自動で表示!指定した年と月に対応

エクセルDATE関数とDAY関数で、日付と曜日を自動で表示させる方法を紹介しています。その年、その月だけに対応できる、カレンダーなどを作成することは簡単ですが、年と月が替わると、日付と曜日を修正しなくてはいけません。これは、面倒です。ここで作成しているスケジュール表は、指定した年と月に対応して、日付と曜日が自動で替わります。難しいテクニックは必要ありません。図を使って分かりやすく説明しているので、手順通りに進めていくと、簡単に、自動で日付と曜日が表示される表が完成できます。

 

 

DATE、DAY関数で日付を自動で表示させる方法

エクセルDATE関数とDAY関数を使って、年と月に対応する日付を、自動で表示させるスケジュール表を作成しましょう。

ここでは、1月のスケジュール表を作成してみましょう。

スケジュール表を作成する手順

① 「C2」には「年」、「E2」には「月」を入力します。入力した、年と月に対応する、日付と曜日が自動で表示されます。

② 1月~12月までは、どの月も「28日」まではあります。最初、「28日」までの日付を、DATE関数を使って自動で表示させる式を作成します。

③ 29日~31日までは「月」によって日数が違います。DATE関数とDAY関数を組み合わせて、無い日付は表示させない式を作成します。

④ 最後に、日付からユーザー定義で、曜日を自動で表示させましょう。

 

 

28日までの日付を自動で表示させる方法

1.A列の「日」には、1~28までの日付を入力します。1~28までの日付を入力するには、エクセル「オートフィル」を使いましょう。フィル ハンドルを、下方向にドラッグ→「連続データ(S)」を選択すると、連続した日付が作成できます。

 

2.「B5」に、日付を自動で表示させる式を入力します。

 

B5 =DATE($C$2,$E$2,A5)

「2018/1/1」が表示されます。

「B5」の式をドラッグして、「B6:B32」にコピーしましょう。

「28日」までの日付が、自動で表示されました!

 

 

29日~31日までの日付を自動で表示させる方法

29日~31日までは、「月」によって日数が違います。無い日付は表示させないようにしましょう。

1.A33、A34、A35に式を入力しましょう。

 

A33 =IF(DAY(DATE($C$2,$E$2,29))=29,29,””)

A34 =IF(DAY(DATE($C$2,$E$2,30))=30,30,””)

A35 =IF(DAY(DATE($C$2,$E$2,31))=31,31,””)

「A33」の式は、DATE関数で返される日が「29」でなかったら、「空白」を返します。

「29」と同じだったら「29」を返します。

「A34」「A35」も、考え方は同じです。

「1月」の最終日は「31日」なので、「31」まで表示されます。

2.「B33」に、自動で日付を表示させる式を入力しましょう。

 

B33 =IF(A33=””,””,DATE($C$2,$E$2,A33))

B33の式は、A33が「空白」の場合は、「空白」が返されます。

「空白」でない場合は、日付が返されます。

B33の式をドラッグして、「B34:B35」にコピーしましょう。

日付が自動で表示されました!

 

3.試しに、スケジュール表を2月にしてみましょう。E2に「2」と入力します。

 

「A33:A35」が非表示になりました!

同時に「B33:B35」も、非表示になりました!

「2月」の最終日は「28日」までなので、「A33:A35」は表示されません!

最後に、B列の日付を、自動で曜日にさせてみましょう。

 

 

ユーザー定義で日付から自動で曜日を表示させる

スケジュール表に、日付から曜日を自動で表示させましょう。

セル範囲「B5:B35」には、日付が自動で表示されています。

ユーザー定義で、日付から曜日を表示させましょう。

1.セル範囲「B5:B35」を選択します。

2.右クリックして、「セルの書式設定」を選択しましょう。

 

3.「表示形式」→「ユーザー定義」→「種類(T)」に「aaa」と入力します。

4.曜日が表示されました!

 

これで、スケジュール表が完成しました!

お疲れ様でした。

 

 

エクセルの表示形式

エクセルの表示形式には次のようなものがあります。数式に使えますので覚えておくと便利です。

 表示形式 表示例
 aaa 月、火、水、木、金、土、日
 aaaa 月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日
 (aaa) (月)、(火)、(水)、(木)、(金)、(土)、(日)
 ddd Mon、Tue、Wed、Thu、Fri、Sat、Sun
 dddd Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday

 

日付の関数の説明

DAY関数

シリアル値で表される日を返す関数です。日付を表す 整数、1 ~ 31の数値で返します。

DAY関数の書式と引数

DAY(シリアル値)

シリアル値必ず指定します。日付は、DATE関数を使って入力するか、他の数式または他の関数の結果を指定します。

DAY関数の使い方

数式結果
=DAY(A1) 「A1」には「2018/2/12」が入力されています。日を返すので、結果は「12」です。

DATE関数

DATE関数は、指定された日付に対応するシリアル値を返す関数です。

DATE関数の書式と引数

DATE(,,)

1 〜 4桁で年を指定します。
月を表す数値を、1 〜 12の範囲で指定します。月に12より大きい月を指定すると、月の値を年に加算して日付が計算されます。負の整数を入力すると、年減算して日付が計算されます。
日を表す数値を、1 〜 月の最終日の範囲で指定します。指定した月の最終日よりも大きい整数を指定すると、日の値を月に加算して日付が計算されます。負の整数を指定した場合は、日の値を月から減算して日付が計算されます。日が1未満の場合は、日の日数に1を加えた数が、指定された月の最初の日から減算されます。

DATE関数の使い方

数式結果
=DATE(2018,2,31) 2018年2月の最終日は28日です。28日よりも3日多いので2月の月に1月が加算されます。「2018/3/3」が返されます。

IF関数

エクセルIF関数は、真の場合は真の場合の値を返し、偽の場合は偽の場合の値を返す関数です。

IF関数は、エクセル関数の中で使用頻度が高い関数です。他の関数と組み合わせて使用されることも多いです。

IF関数の書式と引数

IF(論理式,真の場合,偽の場合)

論理式条件式を指定します。
真の場合論理式がTRUEの場合に返す値を指定します。
偽の場合論理式がFALSEの場合に返す値を指定します。省略するとFALSEを返します。

IF関数の使い方

数式結果
B2=IF(A2=”参加”,”○”,”×”) A列には、「参加」と「不参加」が入力されています。A2には「参加」と入力されています。B2には「○」が返されます。

特定の曜日だけ表示させる

エクセルの日付の関数を使うと、特定の曜日だけを自動表示させることができます。

ここでは、全ての曜日を表示させましたが、カレンダーを作成する時、WEEKDAY関数を使うと「休日」や「祝日」だけを表示させたり、色付けすることもできます。

単純に曜日を自動で表示させたい場合は、TEXT関数を使います。覚えておくと色々な場面で活用できるので便利です。

こちらの記事もご覧ください。⇒エクセル関数を使って日付の曜日を表示させる方法(特定の曜日だけ表示させることもできます)