「条件付き書式」タグアーカイブ

Excelで年間カレンダーを自作する方法|月間・週間スケジュールにも対応

Excelを使えば、自分専用のカレンダーを簡単に作れます。この記事では、年間・月間・週間の3種類のカレンダーを順に作成し、最後に祝日を自動反映するマクロを組み込みます。

旧バージョン(Excel 2010〜2021)でも動作するよう、関数は基本的なものだけを使用しています。


ステップ1:年間カレンダーを作る

  1. 年入力セルを用意

    • B1セルに「2025」など西暦年を入力

  2. 日付列を生成

    • A3セルに次の数式を入力し、365行コピー

      =DATE($B$1,1,1)+ROW(A1)-1

  3. 曜日を表示

    • B3セルに

      =TEXT(A3,"aaa")
  4. 条件付き書式で土日を色分け

    • 土曜:=WEEKDAY($A3,2)=6

    • 日曜:=WEEKDAY($A3,2)=7

    • 祝日:=COUNTIF(祝日!$A:$A,$A3)>0


ステップ2:月間カレンダーを作る

  1. 入力セル

    • B1=年、D1=月

  2. 月初を算出

    • B3セルに

      =DATE($B$1,$D$1,1)-WEEKDAY(DATE($B$1,$D$1,1),2)+1
  3. カレンダー枠を埋める

    • 各セルに =$B$3+オフセット を入力

  4. 条件付き書式

    • 他月の日付はグレー表示

    • 土日を色分け


ステップ3:週間カレンダーを作る

  1. 週の開始日を指定

    • B1セルに「週の開始日」(例: 2025/9/29)を入力

  2. 見出し表示

    • B2以降に

      =TEXT($B$1+列番号,"m/d(aaa)")
  3. 条件付き書式

    • 列ごとに「土曜」「日曜」「祝日」を判定して色付け


ステップ4:祝日を自動反映する

仕組み

  • 固定祝日(元日、建国記念日など)

  • ハッピーマンデー制度(成人の日、海の日、敬老の日、スポーツの日)

  • 春分・秋分(1980〜2099年は近似式で計算)

  • 振替休日(日曜の祝日→翌平日)

  • 国民の休日(祝日で挟まれた平日)

このルールをVBAで計算し、「祝日」シートに一覧化 → 他シートが COUNTIF で参照して色分けします。
※ネットから取得しているわけではありません。


VBAコード全文(標準モジュールに貼り付け)


ステップ5:完成版テンプレート

上記の手順をすべてまとめた「サンプルExcelカレンダー.xlsm」を用意しました。

  • 年間/月間/週間カレンダー

  • 祝日シートに年を入力 → [最新の祝日を取得] ボタン

  • 祝日・土日が自動で色分け

📂 ダウンロード:Excelサンプルをダウンロード


まとめ

  • Excel標準機能(DATE、TEXT、WEEKDAY、COUNTIF)で年間・月間・週間カレンダーを作成

  • VBAマクロで祝日リストを自動生成 → 条件付き書式で色分け

  • 配布テンプレートを使えばすぐに利用可能

Excelで日付から自動で曜日を表示する方法 — 曜日表示の基本と応用」

Excelでカレンダーを作成していると日付に対応した曜日を表示したくなるケースが良くあると思います。
曜日を表示する場合は「セルの書式設定」→「表示形式」→「ユーザ定義」を使用すれば簡単に曜日を表示することが可能となります。

ユーザ定義での曜日設定種類

ユーザ定義の種類表示例
aaa





aaaa日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
dddSun
Mon
Tue
Wed
Thu
Fri
Sat
ddddSunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

曜日の表示例

🧩 補足:より便利な曜日表示の活用法

  • 関数で曜日を取得する方法
    =TEXT(A1,"aaa") で「月」、=TEXT(A1,"dddd") で「Monday」といった表示も可能です。
    セル書式設定を使うより柔軟に式を組みたい場合はこちらが便利です。

  • 祝日や土日を色分けする方法
    条件付き書式を使えば「=WEEKDAY(A1,2)>=6」で土日を自動的に色分けできます。

  • 曜日の並び替えやフィルター
    「ユーザー定義リスト」に「月,火,水,木,金,土,日」を登録しておくと、昇順・降順で正しい並びになります。

  • Googleスプレッドシートの場合
    同様に =TEXT(A1,"aaa") が使えますが、地域設定が英語だと「Mon」「Tue」になります。
    日本語表示にしたい場合は「ファイル → 設定 → 地域」を「日本」に変更してください。