エクセル(Excel)カレンダーの作成方法は?関数の使い方を解説
エクセル(Excel)カレンダーの作成方法は?関数の使い方を解説
カレンダーはエクセル(Excel)で簡単に作成できることをご存じでしょうか?
エクセルは主に数字やデータの管理に用いるものですが、関数を使えば簡単に便利なカレンダーを作ることもできます。
本記事では、DATE関数やWEEKDAY関数、COUNTIF関数、MONTH関数などを用いて、実際に2023年度版のカレンダーのテンプレートを作成しながらわかりやすく解説します。
DATE関数とは
まずは、エクセルでカレンダーを作成する際に用いるDATE関数について解説します。DATE関数とは、自身で入力した特定の日時をセルにまとめて、シリアル値を表示する関数です。
DATE関数の基礎
DATE関数は以下の書式で入力します。
「=DATE(年,月,日)」
上記の()部分には、指定する特定の年・月・日の数値やセルを入力します。
DATE関数の使い方
DATE関数を使うと、どのような形でエクセルに表示されるのか例をあげて解説します。
特定のセルに年・月・日を入力したエクセルシートを作成します。そして日付を出力したいセルを「D2」に設定します。
続いて「D2」に日付を表示させるため、年・月・日の数値が入力されているセルの行番号と列番号を組み合わせた数値を、DATE関数のなかに入れましょう。その際に「A2」、「B2」、「C2」と区切って入力しますが、「,(半角カンマ)」は必ず半角で入力しましょう。
DATE関数を入力できたら「Enterキー」を押してください。すると、「D2」に年・月・日がまとまった日付が出力されます。
表示形式に関して
DATE関数を入力すると、年(YEAR)・月(MONTH)・日(DAY)が「yyyy/mm/dd」と横並びで表示されます。これは、DATE関数の使用によって「セルの書式設定」の「表示形式」が「標準」から「日付」に変更されたためです。先ほどDATE関数を入力したエクセルシートの「セルの書式設定ダイアログボックス」を確認してみましょう。
分類を「日付」から「標準」に戻すと、サンプルに「44928」と記載されます。
これは「シリアル値」と言い、エクセル内部で最初に読み込まれる数値です。シリアル値は、1900年1月1日が「1」で定義されるため、1900年1月15日なら「15」、1900年1月30日は「30」で出力されます。このように、DATE関数は、特定の日付に対してシリアル値を返す関数です。
万年エクセルカレンダーの作り方
ここからは、DATE関数を応用して、毎年使い続けられる万年エクセルカレンダーを制作していきます。イメージとしては、特定のセルに「年」や「月」の数値を入力することで特定の列に「日付」が表示され、すぐにスケジュールが見られるカレンダーです。
最初に、カレンダーに入れる項目を決めます。今回のカレンダーには「日付」「スケジュール」「その他」「年」「月」の項目を入れます。「年」と「月」を入力すると、月ごとに更新されるカレンダーを作成できるので、「日付」「スケジュール」「その他」は31行分(31日分)作成します。また、使いやすさを考慮して、「年」や「月」は、わかりやすいセルに設置しましょう。
先ほど作成した「年」と「月」のセルに、任意の数値を入力しましょう。今回は「年=2023」、「月=1」を入力します。
「日付」の列にまとまった数字を表示させるためにDATE関数を入力します。
日付列の初日にあたるセル「A2」に「年」「月」の情報が入力されるように「=DATE(F1,F2,1)」と入力してください。
F1は「年」、F2は「月」、そして1は「日」を指しています。”1”を入れないと表示されないので注意しましょう。
「日付」列に”2023/1/1”が表示されたら、続いて1月2日以降の日付を表示させましょう。セル「A3」に「=A2+1」と入力し、セルの右下にカーソルを合わせて十字が表示されたら、それをドラッグしたまま31日になる予定のセルまで選択します。
31日まで「日付」が表示されたら、次は「曜日」を出力します。「日付」列のセルを1日から31日まで複数選択し、右クリックでメニューを表示させ、「セルの書式設定」を選択してください。
下記の画像を参考に「セルの書式設定ダイアログボックス」内にある「表示形式タブ」の「ユーザー定義」の種類から「yyyy/m/d」を選択します。語尾に(aaa)を付けて「yyyy/m/d/(aaa)」とした後に「OKボタン」を選択し、エクセルシートに戻りましょう。「日付」横に「曜日」が表示されていれば完了です。(aaa)は「曜日」をあらわす数式です。
DATE関数を応用し他の関数と組み合わせる方法
DATE関数を他の関数と組み合わせることで、より見やすく便利なカレンダーが作れます。
WEEKDAY関数で休日(土日)に色付けする
先ほど作成した万年エクセルカレンダーの平日と休日の色を変える方法を紹介します。
エクセルの関数では、土曜日と日曜日に色を付けてより視認性を高める「WEEKDAY(ウィークデイ)関数」があります。WEEKDAY関数は、日付にひもづけされる曜日を算出し、数字で表す関数です。WEEKDAY関数は次の書式で入力してください。
「=WEEKDAY(シリアル値,週の基準)」
「シリアル値」には、検索したい対象の日付を入れるか、他の関数や数式の結果が入ったセルを選択します。また「週の基準」には、各曜日に対応した数値を入れます。下記の表に曜日を返す関数をまとめたので確認してください。
例えば、土曜日に色をつける場合は「7」を入力します。
それでは、実際に曜日に色を付けていきましょう。
まず、色を付けるセルを複数選択します。今回はA列に記載している日付に色付けをするため、A2(2023/1/1)からA32(2023/1/31)までをドラッグします。
「ホーム」の「スタイル」にある「条件付き書式」を選択します。プルダウンでメニューが表示されるので「新しいルール」を選択します。
「新しい書式ルールダイアログボックス」が表示されるので「数式を使用して、書式設定をするセルを設定」を選択します。
そうすると「次の値を満たす場合に値を書式設定」のテキストの横に数式を入力するボックスが表示されます。そこに先ほどの数式「=WEEKDAY(A2)=7」を入力します。前述したように「7」は土曜日を表しており、これでA列の土曜日の日付に色付けをする準備が整いました。
土曜日が色付けされる設定が完了したら、色を選択します。下記画像の赤枠で囲まれた「書式」を選択します。「セルの書式設定ダイアログボックス」が表示されるので「塗りつぶしタブ」から土曜日の色(今回は青にします)を選択し、「OKボタン」を選択します。
エクセルシートに戻り、A列を確認してください。土曜日の「日付」だけが青色で塗りつぶされています。
WEEKDAY関数を使えば、日曜日も同様に塗りつぶせます。日曜日は、上記の表を参照すると「1」になるので、数式は「=WEEKDAY(A2)=1」です。「=1」は、”特定の列で日曜日だったら”という条件付けをしています。赤く色付けしたい場合は書式から赤色を選択すれば、土曜日と同じく色付けできます。
COUNTIF関数で祝日に色付けする
土曜日、日曜日に続き、次は祝日を色付けしていきます。使用するのは「COUNTIF関数(カウントイフ関数)」です。COUNTIF関数は、ある特定の条件に一致するセルの数を算出する関数です。この機能を使えば、祝日を条件として色付けできます。
それではCOUNTIF関数を使って、先ほど作成した万年エクセルカレンダーの祝日に色付けしていきます。
まずは、カレンダーと同じエクセルにシート名「祝日一覧」の別シートを作成します。「祝日一覧」に2023年の祝日一覧をまとめましょう。祝日一覧は、インターネットで検索すると、コピペ用にまとめられていますので、そちらを使うと便利です。
続いて、色付けする「日付」が入力されたA列をドラッグしましょう。「日付」だけではなく、スケジュールやその他も色を付けたい場合は、ドラッグする範囲を広げます。今回は、A列にのみ色付けする方法で解説します。
「ホームタブ」→「スタイルグループ」→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定をするセルを設定」→「次の値を満たす場合に値を書式設定」まで進みます。そこにCOUNTIF関数の数式「=COUNTIF(祝日一覧!A:A,A2)=1」を入力します。
「書式」で祝日の色を黄色に設定してエクセルシートに戻ると、祝日が色付けされます。数式の「祝日一覧」は、別シートで作成しているため記載しています。「A2」は、色付けしたいセル範囲の一番上を指定しています。
MONTH関数で余計な日付を表示させない
万年エクセルカレンダーを作成するにあたり、1つのシートに該当月だけを表示したい場合は、「MONTH関数」を使用します。今回は、2月のみを表示させるケースで解説します。月によって日数が異なるため、カレンダーで表示する日数を調整したいときに使うのがMONTH関数です。実際にMONTH関数を実装してみましょう。
F2セルの「月」の数値を1から2に変更します。
すると、A列に表示されている1月の日付が、2月の日付に変更されます。
現状だと3/3まで表示された状態になっているため、2月の日付のみを表示させるために、対応が必要です。
まず、A2からA32まで選択しましょう。
次に、「ホームタブ」⇒「スタイルグループ」⇒「条件付き書式」⇒「新しいルール」⇒「数式を使用して、書式設定をするセルを設定」⇒「次の値を満たす場合に値を書式設定」まで進みます。そこにMONTH関数の数式「=MONTH($A2)<>$F$2」を入力します。「A2」は日付列、「$F$2」は対象月を指しています。今回は2月の日付だけを表示したいため、「F2」セルに入っている2月とひもづけています。
3月の日付を非表示にするには、最後に書式設定から色を選択しなければいけません。MONTH関数の数式を入れた後に「セルの書式設定ダイアログボックス」を表示します。「塗りつぶし」で背景色「色なし」を選びましょう。
最後に「表示形式タブ」に移動し「ユーザー定義」を選択します。「種類」の項目下にテキストボックスがあり、そこに「;;;」を入力します。「;;;」は、”なにも表示しない”という意味の書式設定です。
「OKボタン」をクリックすれば、対象月以外の日付の表示がなくなります。
テンプレートを使用してエクセルカレンダーを作成する方法
エクセルには、関数を自身で設定しなくてもカレンダーを簡単に作成できる機能があります。
エクセルのリボンにある「ファイル」を選択し、サイドバーの「新規」から検索ボックスに「カレンダー」と入力すると、カレンダーテンプレートが複数表示されます。
「夏のアクティビティカレンダー」や「ファミリーイベントカレンダー」など目的やイベントの種類に応じて複数のテンプレートを無料で使用できるので、ぜひチェックしてみてください。
使用方法も簡単で、好みのカレンダーを選択するとダウンロード画面が表示されます。「作成」ボタンがあるので選択すると、すぐに使用できます。ただし、作成にはインターネット接続が必要になるので注意してください。
スケジュール表管理をエクセル以外で行うことも可能
エクセルでカレンダーを作成して行う予定管理は、一度作成すると自分好みにカスタマイズもできます。エクセルの他にも、Office365には、Outlook、SharePointといったスケジュール管理アプリが入っています。多忙な時期に詳細なスケジュール管理が求められる場合は、それらのアプリと併用することをおすすめしますが、一般的にはエクセルカレンダーだけで事足りるでしょう。
まとめ
この記事では、DATE関数を中心に、WEEKDAY関数、COUNTIF関数、MONTH関数などさまざまな関数を使用した万年エクセルカレンダーの作成方法を解説しました。エクセルはスケジュール管理やタスク管理など、活躍する場面が多いので、ぜひ活用してください。