Excelでカレンダーを作成する方法 – 数式/関数を活用して簡単に自作可能

Excelでは「カレンダー」を自作できます。しかし書式や数式・関数などを使いこなす必要があるので、わかりづらい部分も。そこで本記事では、Excelでカレンダーを作成する方法について、書式や数式・関数の活用法も含めて画像付きで解説します。

Excelで数式/関数を使ってカレンダーを作成する方法

Excelで数式・関数を使ってカレンダーを作成するために、まずは基本的なフォームを作成しておきましょう。

Excelで数式/関数を使ってカレンダーを作成する方法

今回は2022年4月のカレンダーを作成します。まずA1に「2022」、B1に「年」、C1に「4」、D1に「月」を入力し、A2からG2にかけて「日曜日」から曜日を入力してください。「2022年」と「4月」を同じセルに入力すると正常に動作しないので、必ず別々のセルに入力しましょう

DATE関数で日付を取得

次は「DATE関数」を作成して、当月1日目の書式を作成します。DATE関数は年・月・日それぞれの数値情報から、日付を表示するための関数です。

DATE関数で日付を取得する1

【1】①E1セルをクリックして、②「数式」タブの「関数の挿入」をクリックします。③「関数の分類」に「すべて表示」を選択し、「関数の検索」に「DATE」を入力してから「検索開始」をクリック。④表示された「DATE」を選択し、⑤「OK」をクリックします

DATE関数で日付を取得する2

【2】①上から順に「A1」「C1」「1」と入力し、②「OK」をクリックします

DATE関数で日付を取得する3

【3】このように指定した年月の最初の日付が表示されます

なお上記の手順ではなく、E1セルに直接「=DATE(A1,C1,1)」と打ち込んでも同じ結果が得られます。

WEEKDAY関数で当月1日目の曜日を表示する

カレンダーは日曜日から始まりますが、当月1日目の曜日はその月によって異なります。そのため下記の手順で「WEEKDAY関数」を使用し、当月1日目の曜日を算出する必要があります。ちなみにWEEKDAY関数は、指定した年月日の曜日を表示するためのものです。

WEEKDAY関数で当月1日目の曜日を表示する1

【1】①H1セルをクリックし、②「数式」タブの「関数の挿入」を選択します。③「WEEKDAY」を検索し、④表示された「WEEKDAY」を選択してから、⑤「OK」をクリックしましょう

WEEKDAY関数で当月1日目の曜日を表示する2

【2】①上から順に「E1」「1」と入力し、②「OK」をクリックします

WEEKDAY関数で当月1日目の曜日を表示する3

【3】「6」と表示されますが、これは2022年4月1日が金曜日であることを示します。WEEKDAY関数の戻り値が、日曜日から土曜日を「1」から「7」で表現するものだからです。つまり当月1日は、このカレンダーの最初の日曜日から数えて「6番目」に位置するということです

なお上記の手順ではなく、H1セルに直接「=WEEKDAY(E1,1)」と打ち込んでも同じ結果が得られます。

カレンダーの「最初の日」を取得してセルを埋める

先ほどWEEKDAY関数で算出した数値を基にして、当月カレンダーの最初のセル、すなわち最初の日曜日の日付を求めます。ここでは反復作業が必要になるので、ひとつずつ丁寧に進めていきましょう。

カレンダーの「最初の日」を取得してセルを埋める1

【1】①A3セルを選択して、②「=E1-(H1-1)」と入力してください。これは最初のセルの日付を求めるための数式であり、2022年4月の場合は5日前の日付となります

カレンダーの「最初の日」を取得してセルを埋める2

【2】①続いてB3セルをクリックし、②「=A3+1」と入力します。これは単純に「左のセルから1日進める」というものです

カレンダーの「最初の日」を取得してセルを埋める3

【3】火曜日から土曜日の日付は、B3セルの右下部分をG3セルまでドラッグすると、自動的に表示されます。なおセル内に「#」が表示される場合は、そのセルの枠を横方向にドラッグして広げましょう

カレンダーの「最初の日」を取得してセルを埋める4

【4】今度はA4に「=G3+1」、B4に「=A4+1」と入力し、B4をG4までドラッグしましょう

カレンダーの「最初の日」を取得してセルを埋める5

【5】同じ手順を繰り返すと、カレンダー内のすべてのセルが埋まります

整形や適宜装飾を行う

カレンダーの概形が完成したので整形や装飾を行いましょう。すべてのセルが「年月日」形式で表示されていて見づらいので、下記の手順で「日にち」だけ表示し、さらに前月分の日付を非表示にするのがおすすめです。

整形や適宜装飾を行う1

【1】①日付の部分をすべて選択し、②「配置」右下のボタンをクリックします。③「表示形式」タブの「ユーザー定義」をクリックし、④「種類」に「d」を入力してから、⑤「OK」をクリックしましょう

整形や適宜装飾を行う2

【2】このように日にちだけ表示されるので見やすくなりました

整形や適宜装飾を行う3

【3】①再びすべての日付を選択し、②「条件付き書式」の「新しいルール」をクリックします

整形や適宜装飾を行う4

【4】①「数式を使用して、書式設定するセルを決定」を選び、②「=MONTH(A3)<>$C$1」という書式を入力します。③「書式」をクリックして、④「色」に背景色と同じ「白」を選び、「OK」をクリックして完了です

整形や適宜装飾を行う5

【5】市販品のカレンダーと同じような見やすいカレンダーが完成しました。なお筆者はこのあとE1とH1も文字色変更で非表示にして、より綺麗なカレンダーを作成してみました

翌月のカレンダーを作成しよう

先ほど作成したカレンダーの「A1」「C1」の数値を変更すると、すべての日付が連動して変わります。

翌月のカレンダーを作成しよう

C1セルの数値を変えて、翌月以降のカレンダーも作成しましょう

Excelでのカレンダー作成についてよくある質問

Excelでのカレンダー作成に関するよくある質問をまとめました。

・曜日を自動で色分けするには?
・祝日を自動で色付けするには?

曜日を自動で色分けするには?

多くのカレンダーが土曜日は青色、日曜日は赤色になっているはずです。これを自動的に再現するためには、条件付き書式を使用する必要があります。「条件付き書式」→「新しいルール」から、「指定の値を含むセルだけを書式設定」を選んで色を指定すれば完了です。

祝日を自動で色付けするには?

「祝日」を自動的に色付けするためには、まず別シートに「祝日一覧」をまとめて記載してから、条件付き書式で祝日一覧シートを参照すると色付けができます。ただしExcel 2007以前のバージョンを使用している場合は、別シートを参照できないので注意が必要です。

まとめ

Excelでカレンダーを自作するためには、まず年月を指定して曜日を手動で入力し、DATE関数で1日目の書式を作成します。それからWEEKDAY関数で1日目の曜日を算出し、最初の日曜日の日付を数式で取得すると、残りのセルはドラッグで入力可能です。年月の数値を変更すると、ほかの月のカレンダーも自動作成できます。

オトナライフ編集部
iPhone・Android・SNS・パソコン関連・キャッシュレス、QRコード決済など、さまざまな情報を独自の視点や切り口で発信するニュースサイト
X/Twitter:@otonalife

iPhone/Androidスマホやキャッシュレス決済、SNS、アプリに関する情報サイト[オトナライフ]

関連記事

Excelでカレンダーを作成する方法 – 数式/関数を活用して簡単に自作可能のページです。オトナライフは、【スキル・ビジネスExcelカレンダーExcelの使い方】の最新ニュースをいち早くお届けします。