【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。
日付・曜日は数式で入力すれば更新もラク
前回・前々回の記事では、Excelで月別のカレンダーを作成する方法を紹介しました。
しかし、月別だけがカレンダーの形式でありません。特にビジネスの現場では、以下のような3カ月カレンダーが活躍するシーンがよくあります。
1ページに3カ月分の日付・曜日が縦方向に並んでいるカレンダー。四半期ごとなど、中期のスケジュールを立てるときに便利です。
このようなカレンダーは市販の商品もありますが、何度も書き込みを繰り返すような用途では、Excelで作成したカレンダーをプリンターで印刷したほうが便利です。スケジュールに変更が生じても気兼ねなく修正・印刷できるほか、次の3カ月分のカレンダーに切り替えるのも簡単です。
最初の作成には少々時間がかかりますが、以下の手順を参考にチャレンジしてみてください。
3カ月カレンダーの日付・曜日を入力する
それでは、日付が縦方向に並ぶ3カ月カレンダーを作成していきましょう。
まずはカレンダーの「年」「月」の見出しや「日」を入力しますが、これらを手入力してしまうと、月の切り替え時にすべての日付を再入力することになります。そこで数式を使いましょう。作成途中では日付が羅列された状態になりますが、最後に[セルの書式設定]で表示を整えるので、安心してください。
1カレンダーと1カ月目の見出しを入力する
セルA1にカレンダーの「年」の見出しとなる「2022/1/1」を入力します。続いて、セルA2に「=A1」と入力し、セルA1を参照するように数式を組んでいきます。カレンダーを次の3カ月分に切り替えるときは、セルA1の日付のみを変更すればよい仕組みです。
セルA2に「2022/1/1」と表示されました。セルA2はカレンダーの「月」の見出しに使います。続いて、セルA3に「=A2」と入力します。
21カ月目の日付を入力する
セルA3に「2022/1/1」と表示されました。このセル以降が1カ月目の日付になります。続いて、セルA4に「=A3+1」と入力します。
さらに、セルA4のフィルハンドルをセルA33までドラッグします。
31カ月目の曜日を入力する
日付を入力できたので、B列に曜日を入力していきます。セルB3に「=A3」と入力しましょう。この日付は[セルの書式設定]で曜日の表示にするため、このままで問題ありません。
セルB4のフィルハンドルをダブルクリックします。セルA33まで日付が入力されているので、自動的にセルB33まで数式がコピーされます。セルB33までのフィルハンドルをドラックしても構いません。
42カ月目の見出しを入力する
2カ月目の日付を入力します。ここでは2月のカレンダーになりますが、「2022/2/1」と直接入力するのはNGです。セルA2の日付を参照するように、開始日から○カ月後の日付を求めるEDATE関数を使います。以下のように「=EDATE(A2,1)」と入力しましょう。セルA2は「2022/1/1」なので、結果は「2022/2/1」となります。
=EDATE(A2,1)
52カ月目の日付・曜日を入力する
すでにセルA3~B33に数式が入力されているのでコピーし、セルD3をクリックして貼り付けます。これで2カ月目の日付・曜日が入力されました。
63カ月目の見出しを入力する
3カ月目の日付を入力します。2カ月目の見出しと同様に、EDATE関数を使って「=EDATE(A2,2)」と入力します。セルA2の「2022/1/1」の2カ月後としたいので、2つ目の引数は「2」となります。
=EDATE(A2,2)
73カ月目の日付・曜日を入力する
セルD3~E33の数式をコピーし、セルG3をクリックして貼り付ければ、3カ月目の日付・曜日の入力も完了です。
8カレンダーの見出しの書式を設定する
カレンダーの「年」の見出しとなるセルA1を選択し、[Ctrl]+[1]キーを押して[セルの書式設定]ダイアログボックスを表示します。続いて[日付]を選択し、[種類]から[2012年3月]を選択します。
91カ月目の見出しの書式を設定する
カレンダーの「年」の見出しが「2022年」になりました。続いて、1カ月目の見出しを入力したセルA2を選択し、[Ctrl]+[1]キーを押します。[ユーザー設定]を選択し、[種類]の入力欄に「m"月"」と入力します。「m」と「"」は半角で入力してください。
101カ月目の日付の書式を設定する
カレンダーの「月」の見出しが「1月」になりました。同様に、日付を入力したセルA3~A33を選択して[Ctrl]+[1]キーを押します。[ユーザー設定]を選択し、[種類]の入力欄に半角で「d」と入力します。
111カ月目の曜日の書式を設定する
日付の書式が設定され、「日」だけの表示になりました。さらに曜日の書式を設定します。セルB3~B33を選択して[Ctrl]+[1]キーを押します。[ユーザー設定]を選択し、[種類]の入力欄に半角で「aaa」と入力します。
122、3カ月目に書式をコピーする
「曜日」だけの表示になりました。さらに1カ月目の見出し、日付・曜日の書式のみを、2カ月目と3カ月目にコピーします。セルA2~B33を選択して[ホーム]タブの[書式のコピー/貼り付け]をクリックし、マウスポインターが刷毛の形に変わったことを確認して、セルD3をクリックします。
2カ月目の書式が変更され、「2月」と表示されました。
同様の操作で3カ月目の書式も変更し、「3月」と表示しておきます。
3カ月カレンダーの土日の色を設定する
カレンダーの見出しと、3カ月分の日付・曜日を入力できました。仕上げとして、土日の色を設定していきます。
手動でセルの背景や罫線を設定しても構いませんが、ここでは「条件付き書式」を利用して土日の書式を設定します。セルA1の日付を変更するだけで自動更新できるように、カレンダーを完成させましょう。
なお、列の幅や結合は、お好みで設定しておいてください。
ここではセルA1~I1を結合し、A、B、D、E、G、H列は自動調整、C、F、I列の幅は125ピクセルとしています。
13土曜の書式を設定する
セルA3~B33を選択しておきます。[ホーム]タブの[条件付き書式]をクリックし、[新しいルール]を選択します。
[新しい書式ルール]ダイアログボックスが表示されました。[数式を使用して、書式設定するセルを決定]を選択し、「=WEEKDAY($A3,1)=7」と入力します。さらに[書式]ボタンをクリックし、フォントの色とセルの背景色を設定しておきます。WEEKDAY関数は日付に対応する曜日を取得する関数で、土曜を判定するには「=7」とします。
=WEEKDAY($A3,1)=7
土曜日のセルに書式を設定できました。続いて日曜日の書式を設定するので、セルは選択したままにしておきます。
14日曜の書式を設定する
セルA3~B33を選択したまま操作します。[ホーム]タブの[条件付き書式]-[新しいルール]を選択し、[新しい書式ルール]ダイアログボックスから[数式を使用して、書式設定するセルを決定]を選択する操作は先ほどと同様です。今度は日曜日を判定するので「=WEEKDAY($A3,1)=1」と入力し、フォントの色とセルの背景色を設定しておきます。
=WEEKDAY($A3,1)=1
日曜日のセルに書式を設定できました。
152、3カ月目の土日の書式を設定する
2、3カ月目の条件付き書式も同じ要領で設定しておきます。基準にする日付のセルが異なるだけです。それぞれ以下の数式を入力してください。
2カ月目
=WEEKDAY($D3,1)=7
=WEEKDAY($D3,1)=1
3カ月目
=WEEKDAY($G3,1)=7
=WEEKDAY($G3,1)=1
3カ月カレンダーを切り替える
すべて設定できたら、月を切り替えて動作を確認してみましょう。
セルA1の日付を「2022/4/1」に変更します。
4、5、6月のカレンダーに切り替わりました。各月の見出し、日付・曜日のほか、曜日の色も切り替わっています。
HINT横方向のカレンダーでは条件付き書式に注意
ここでは日付を縦方向に並べましたが、横方向のカレンダーも同じ要領で作成可能です。以下は横方向のカレンダーに条件付き書式を設定した例です。
横一列に日付が並んだカレンダーです。
日付・曜日は、縦方向のカレンダーの作成方法と同様ですが、条件付き書式の数式は、セル参照の指定方法が異なることに注意してください。指定する数式は以下の通りです。
=WEEKDAY(B$2,1)=7
=WEEKDAY(B$2,1)=1
横方向に条件付き書式を設定する場合は、数式の参照方法に注意してください。土曜は「=WEEKDAY(B$2,1)=7」と指定します。横方向に参照を切り替えるため「B$2」とし、2行目の参照を固定しています。「$B2」ではないことに注意しましょう。