Excelのフォームコントロールで動的カレンダーを作成する方法【ステップバイステップ完全ガイド】

Excelには、コードを一切書かずにカレンダーを完成させられる標準機能や数式が数多く用意されています。フォームコントロールを活用すれば、月や年を自由に切り替えられる動的なカレンダーインターフェースをExcel上に構築できます。
このチュートリアルでは、フォームコントロールを使ってExcelで本格的なカレンダーインターフェースを作る手順を、初心者にもわかりやすく解説します。
開発タブを有効化する
リボンに「開発」タブが表示されていない場合は、「リボンのユーザー設定」から有効化する必要があります。
- ファイルタブ >> オプションを選択します。
- リボンのユーザー設定を選択します。
- 右側のパネルで開発にチェックを入れます。
- OKをクリックします。
ステップ1:ワークシートのレイアウトを作成する
ワークシートのレイアウトを作成:
- 新しいExcelブックを開きます。
- 新しいワークシートを作成し、「Calendar」という名前に変更します。
- 基本構造を以下のように設定します。
- 1行目:カレンダーのタイトルエリア。
- 3行目:月と年の選択コントロール。
- 5行目:曜日の見出し(日、月、火など)。
- 6〜11行目:カレンダーのグリッド(あらゆる月の配置に対応できるよう6行分を用意)。

曜日の見出しと月・年のリストを作成:
- 月のリスト(例:1月〜12月)を入力します。
- 必要な年のリスト(例:2025年、2026年〜2036年)を入力します。
- 曜日の見出し(例:日、月〜土)を入力します。

ステップ2:日付選択コントロールを作成する
- 開発タブ >> 挿入 >> フォームコントロールを選択します。
- コンボボックスを選択します(ActiveX版ではなくフォームコントロール版)。
- セルB3にコンボボックスを描画します。

- コンボボックスを右クリック >> コントロールの書式設定を選択します。

- オブジェクトの書式設定ダイアログで以下を設定します。
- 範囲:I列の月リスト(I2:I13)を選択します。
- リンクするセル:J2(選択した月の番号が保存されます)。
- ドロップダウン行数:12。
- OKをクリックします。

年の選択ドロップダウンを追加:
- セルD3にもう一つコンボボックスを挿入します。
- オブジェクトの書式設定ダイアログで以下を設定します。
- 範囲:K列の年リスト(K2:K12、2020年〜2039年)を選択します。
- リンクするセル:L2(開始年を基準とした選択年の番号が保存されます)。
- ドロップダウン行数:10。
- OKをクリックします。

ステップ3:カレンダー計算用の補助セルを設定する
M列にカレンダーの計算に使う補助数式を作成します。
現在の月番号:
- セルM2を選択し、次の数式を入力します。
現在の年:
- セルM3を選択し、次の数式を入力します。
月初日の日付:
- セルM4を選択し、次の数式を入力します。
月初日の曜日番号(0=日曜、1=月曜など):
- セルM5を選択し、次の数式を入力します。
その月の日数:
- セルM6を選択し、次の数式を入力します。

ステップ4:カレンダーグリッドの数式を作成する
カレンダーグリッドでは、複数の数式を組み合わせて、各セルに表示すべき日付(または空白)を自動的に判定します。
- セルA6を選択し、次の数式を入力します。
- A6からG11まで数式をドラッグしてコピーします。
=IF((ROW()-ROW($A$6))*7+COLUMN()-COLUMN($A$6)+1<=$M$5,"",IF((ROW()-ROW($A$6))*7+COLUMN()-COLUMN($A$6)+1-$M$5>$M$6,"",(ROW()-ROW($A$6))*7+COLUMN()-COLUMN($A$6)+1-$M$5))
この数式は、カレンダーグリッドの各セルに正しい日付番号を生成します。
- グリッド内での位置に基づいて、各セルに表示する日番号を計算します。
- その月の初日より前のセル(<=$M$5)は空白のままになります。
- 計算された日番号がその月の日数を超える場合(>$M$6)も空白になります。
- それ以外の場合は、該当する日付の正しい日番号が表示されます。

ステップ5:書式とスタイルを適用する
- 5行目(A5:G5)を選択 >> 太字の書式を適用します。
- 背景色に薄い青を設定します。
- カレンダー範囲(A6:G11)を選択します。
- 罫線を適用します。
- ホームタブ >> 罫線 >> すべての罫線を選択します。
- 文字を中央揃えにします。
- ホームタブ >> 配置 >> 中央揃えを選択します。
- 視認性を高めるため、行の高さを25に設定します。

ステップ6:条件付き書式を適用する
週末用の条件付き書式:
- カレンダー範囲(A6:G11)を選択します。
- ホームタブ >> 条件付き書式 >> 新規ルールを選択します。
- 数式を使用して、書式設定するセルを決定を選択します。
- 次の数式を入力します。
=AND(A6<>"", OR(COLUMN(A6)=1, COLUMN(A6)=7))
- 週末用に赤背景・白文字の書式を設定します。
- OKをクリックします。

今日の日付用の条件付き書式:
- カレンダー範囲を選択します。
- 別の条件付き書式ルールを作成します。
- 次の数式を入力します。
=AND(ISNUMBER(A6), DATE($K$2, $J$2, A6) = TODAY())
- 太字+薄い青背景の書式を設定します。
- OKをクリックします。

カレンダーの計算部分を非表示にする:
- 補助列(I、J、K、L、M列など)を選択します。
- 右クリック >> 非表示を選択します。

完成したカレンダーインターフェース:

ステップ7:カレンダーをテストする
- さまざまな月と年を選択して動作を確認します。
- 1月
- 2026年

- 実際のカレンダーと照らし合わせて、Excelカレンダーの正確さを検証します。

まとめ
以上の手順に従えば、フォームコントロールを使ってExcelで本格的なカレンダーインターフェースを構築できます。1枚のシートだけで完結するExcelカレンダーで、ドロップダウンから月と年を選ぶとカレンダーが自動的に更新されます。このカレンダーはインタラクティブで、何年先まででも拡張可能です。基本構造に慣れたら、予定管理機能や色分けによるイベント表示、他のExcelデータソースとの連携などを追加してみると、さらに実用的なツールへと進化させられます。
無料の高度なExcel演習問題と解答集を今すぐチェック!
-
Microsoft Office クイックスタートガイド|Word・Excel・PowerPointの基本操作をマスター(Microsoft 365/Office 2021対応)
最新のOfficeアプリはシンプルで直感的なインターフェースを採用していますが、操作方法に不安を感じるユーザーも少なくありません。そんな方のために、MicrosoftはMicrosoft 365およびMicrosoft Office 2021向けの「クイックスタートガイド」を無料公開しています。Word、Excel、PowerPointをはじめ、Access、Teams、OneDrive、SharePoint、Yammer、Skype、To Do、Planner、Delveなど、多彩なアプリのガイドがPDF形式でダウンロード可能です。 Microsoft Office クイックスタートガイドと
-
Microsoft Teamsの役割・権限・機能を徹底解説|オーナー/メンバー/ゲストの違いと設定変更方法
Microsoft Teamsでは、ユーザーに「オーナー」「メンバー」「ゲスト」という3種類の役割(ロール)が割り当てられ、それぞれに異なる権限が設定されています。本記事では、各役割ごとの権限や制限事項を詳しく確認し、業務の割り振りや適切な人選に役立てられるよう解説します。さらに、チームの権限設定を変更する手順についてもご紹介します。 Microsoft Teamsの3つの役割 Microsoft Teamsには、以下の3種類の役割が存在します。 オーナー(Owner) メンバー(Member) ゲスト(Guest) オーナーの権限とできること オーナーはチームの管理者であり、1つのチーム