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)
あ
あとは、セルの書式設定で、A4セル以降のセルの表示を”d”にして、必要なら右づめにします。
セルの書式設定ユーザー定義
こちらが完成した年間カレンダーです。
あ
今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク