1日の日付を表示
1日の日付を作成するには、個別の「年」「月」「日」から日付データを作成できる「DATE関数」を使います。下図では、「年」のデータがセルA1、「月」のデータをセルA2に入力されています。そして、1日の日付を作成したいので、「日」には「1」を指定します。したがって、1日の日付を表示したいセルA4に入力する数式は次のようになります。2日から28日までの日付作成
1日が作成されれば、2日以降は、1行上のセルの日付に「1」を加算する数式を作成するだけなので簡単です。作成した数式を、オートフィルなどで28日のセルまでコピーします。
29日から31日の日付を表示
日付を自動表示する場合の大きな問題点は、3つ目のポイントである「月末」の表示処理です。様々な方法が考えられますが、今回は、アドイン関数のひとつ「EOMONTH関数」とIF関数の組合せによるシンプルな方法を紹介しましょう。なお、アドイン関数を使用するには、そのための準備が必要です(詳しくは営業日計算のための日付関数テクニックをご覧ください)。月末の日付以降を非表示にするには
今回使用する「EOMONTH関数」は、月の「月末日」のシリアル値(日付を表す数値)を求める関数です。今月の月末日のシリアル値を算出するには、引数「開始日」に、冒頭で作成した1日(ついたち)の日付を指定し、引数「月」に、今月を表す「0」を指定します。
このEOMONTH関数を使用して、29日のセルに次のような数式を入力します。1行上の日付が月末日の場合は「""(空白文字)」、そうでない場合は1行上の日付に1加えた日付を表示させる数式です。
30日と31日のセルには、1行上のセルが空白の場合も考えられるため、29日のIF関数の条件式に次のような記述を加えた数式を入力します。
日付が自動入力される!
これで、年と月を指定しただけで、その月のすべての日付が自動入力されるようになります。「月のすべての曜日を自動入力しよう」では、さらに曜日を自動的に表示させる方法を、「Excelの日程表で土・日曜日の色を自動的に変える方法」では土日のセルに色を付ける方法を紹介しています。ぜひ、ご覧ください。