Excel 2013 月替りの初日だけ月日を表示するカレンダー

月替りの初日だけ月日を表示するカレンダー

2013Excel関数技BEST 66回 DAY関数、MONTH関数、IF関数

DAY関数とMONTH関数をIF関数で場合分け

今回は、最初のセルにだけ月日を入力すると、以降自動的に同じ月なら日付だけ、月替りの初日だけ月日を表示するカレンダーを作ります。
月替りの初日だけ月日を表示する年間カレンダー

(サンプルファイルは、こちらから 2013関数技60回サンプルデータ

Excelで最初の日付を入れると、次の日付を自動で表示するには

Excelは西暦を省略すると、今年と判断します。
2014年に、下図のA3セルに、
単に11/1と入力すれば、自動的に2014/11/1と判断します。
年度を指定したいときは、2015/1/1のように入力します。
A3セルの表示形式をユーザー定義で”m/d”にしておきます。
日付を入力

Excelで曜日を表示する

B3セルには、WEEKDAY関数を使い、A3セルの曜日を取得しユーザー設定で曜日に変換します。
=WEEKDAY(A3)
WEEKDAY

Excelの日付の本体はシリアル値

サンプルの表で、11/1の次の日付2を表示するには、
=A3+1で表示できます。
A3セルには ”11/30" と入力されていても、Excelは2014年11月30日と解釈しているので本体はシリアル値なのです。
本体はシリアル値
わざと、最初の日付を11/30と入力しましたが、
=A3+1できちんと12/1と表示されました。
さて、当初の目的のように2からは日付だけを表示するようにしましょう。
そこで、IF関数で場合分けして、取得したシリアル値の日付が1なら月を表示し、それ以外は日付だけ表示するという式を考えます。
日付だけを取得するには、DAY関数を使います。
DAY 関数は、シリアル値を日付に変換します。
DAY 関数書式 =DAY(シリアル値)
もし、日付が1ならの論理式部分までは、IF(DAY(A3+1)=1,です。
月を取得するには、MONTH関数を使います。
MONTH関数は、シリアル値を月に変換します。
そこで、TRUEなら、月は、MONTH(A3)+1、日付は、DAY(A3+1)となります。
FALSEなら、月は表示せず日付のみで、DAY(A3+1) 合わせて、
=IF(DAY(A3+1)=1,MONTH(A3)+1&"/"&DAY(A3+1),A3+1)
日付が1のときだけ月を表示
あとは、セルの書式設定で、A4セル以降のセルの表示を”d”にして、必要なら右づめにします。
セルの書式設定ユーザー定義
こちらが完成した年間カレンダーです。月替りの初日だけその月が表示され以降は日にだけの表示になります。
年間カレンダー
今日の講義は以上です。お疲れ様でした。