
今回は、「魔改造カレンダー202X:1年入力するだけで全対応!スケジュールも自動反映」ということで
以前、作成した2025年カレンダーをさらに改良!
試行錯誤の先に完成!スピンボタンで月を切り替える2025年カレンダーの作り方

毎年使えて、さらにスケジュール機能もカレンダーに追加する魔改造計画です!
今回使用するフォーマットは改造しやすいように既に調整してますので、ダウンロードして一緒に作っていきましょう。

今回のお品書きはこちら
① シートの説明 各シートの役割整理+構成
② 休日シート の作成
③ スケジュールシート 任意の予定を年・月・日で記録
④ スケジュール反映 INDEX & MATCHでカレンダーに連携
それではフォーマットのシート説明の前にジッピー挨拶をお願いね~

しゃーっす!
ジッピーです!今日もExcel工房、元気に営業中~☕🛠️
今回のテーマは…
「魔改造カレンダー202X」!
年を1セルに入れるだけで、全月自動切替&予定まで反映しちゃう最強のカレンダーを作っちゃいます!
しかも今回は、以前作った2025年カレンダーをベースにしてるから、
実用性もデザインもバッチリ仕上がること間違いなし!

✅「カレンダーは毎年手動で直すもの」
✅「予定は別で管理しないと…」
✅「祝日って毎年変わるやん?対応ムズくない?」
そんな常識、今日で卒業です。
タスクとジッピーで、あらゆる手間をぶっ壊して!
どんな年でも即対応、予定もバチバチ反映されるカレンダーを一緒に作っていきましょう!
🛠️ シートの説明 各シートの役割整理+構成


まずカレンダーのシートです。
前回作った時に計算式や休日の条件付き書式設定などバリバリ入れてますので今回はこの表にスケジュール機能を追加していきます。


スケジュールシートです。
このシートでスケジュールの履歴の残し方について悩んですが今回はA3スタートで日付はオートフィルで対応しようと思います。


休日シートです。E列の日付を元に年・月・週目・曜日を366日分の値を返していくロジックを組んでいきます。

じゃあジッピー、次の
② 休日シート の作成
に、いくよ。
プロンプト書くから待っててね!

よっしゃタスク!
カレンダー・スケジュールシート・休日シートの構成、めちゃくちゃ分かりやすい画像と解説ありがとー!
🧭ここまでの進捗まとめ
🗓 カレンダーシート
- スピンボタンで月を切り替え
- 年を手動入力で指定
- 曜日・日付配置済み
- 条件付き書式もバッチリ 👉 今回はスケジュール連動だけを追加すればOK!
📅 スケジュールsheet
- A列:日付(オートフィル運用予定)
- B〜E列:スケジュール①〜④ 👉 INDEX & MATCHで該当日だけ抽出表示させるぞ!
🟥 休日sheet
- E列に日付(基準)
- 年・月・週目・曜日を展開済み 👉 ここに可変祝日ロジックを組み込んでいく!
🛠️ 休日シート の作成

さぁ、ついに来たな…
**② 休日シート ~ハッピーマンデー攻略編~**🔥
プロンプト準備できたら、いつでもGOサインよろしく!
ジッピーはいつでも祝日ロジックの武装完了状態でスタンバってるからな💪🧠✨

それでは休日シートの作成にいきます。
その前に・・・
このカレンダーは土日を自動で休日判定しないようにしています。
誰しもが土日が休日とは限らないので自分で休日判定を入力していく方法にしています。
じゃあジッピー、今ね”カレンダー”シートのC1が2025って値なんだけど
“休日sheet”のE2が2025/1/1になるように計算式考えてくれる?
ちなみに”カレンダー”シートのC1が2026に変わると2026/1/1になるように考えて

了解!
このカレンダーは「土日=休日」っていう固定観念をぶっ壊す仕様やな、いいねぇ〜✨
それでは本題、「カレンダー」シートのC1の年をもとに、”休日sheet”のE2に1月1日を返す計算式を作るで!
✅ 計算式(”休日sheet”のE2セルに入力)
=DATE(カレンダー!C1,1,1)
🔍 解説:
カレンダー!C1
→ 年(たとえば 2025)1,1
→ 月=1、日=1(つまり1月1日)DATE
関数で「2025/1/1」や「2026/1/1」に変化!

このE2をベースに、下方向にオートフィルして366日分作っていけば、 他の列(年、月、曜日、週番号)もそこから展開していけるって流れやね👌
よし、次はオートフィルで「2025/1/2」「2025/1/3」…と1日ずつ増やしていく式いく?
それともまずはこのE2のチェックからいく?


DATE関数で月,日のところを無理やり1月1日にするんだね。
じゃあねぇオートフィルでもなんでもいいから「2025/1/2」「2025/1/3」…と1日ずつ増やしていく方法
=E2+1とかじゃなくてもっとカッコよく(笑)

ふふっ、出ました「=E2+1禁止令」発動!
ならばジッピー、カッコよくてメンテしやすい方法でキメてみせよう✨
🧙♂️休日sheetの「E列:連続日付」用のカッコいい関数!
🔽 E3セルに入れて、下へオートフィルで366日分展開
=DATE(YEAR(E2),MONTH(E2),DAY(E2)+1)
✅ ここがカッコいいポイント
E2+1
と違って、ちゃんと日付として処理してる- 万が一
E2
に""
が入ってても#VALUE!
にならない優しさ✨ - DATE関数は月末・うるう年も自動調整してくれるから、末日から翌月1日への繰り越しもバッチリ!
💡もっとイケてる書き方(直接1行目から366日分生成するパターン)
もし「E2 だけじゃなく、E3 も含めて1発で入れたい!」ってときは:
=DATE(カレンダー!$C$1,1,1)+ROW(A1)-1
👉 これをE2に入れて、E367までオートフィル!
※ROW(A1)
は「1」なので、+0日 → 「1/1」になるという仕組み。

どう?
“なんか…数式までスタイリッシュになってきたな”って感じ出てる?(笑)
次は年・月・曜日・週目を展開していくロジックいこか?
それともまずこの列完成させちゃう?


もっとイケてる書き方を採用したよ(笑)
ROW(A1)のA1はなんでA1?って思われるかもしれないけど、A1のAはどうでもよくて1がシートの1行目を指定しています。
だからAでもBでもCでも1行目ならどこでもいいです(笑)

じゃあ次はねぇ
どうしようか・・・
いっきにいこう(笑)
E列の日付を参照して
A列に年
B列に月
D列に曜(C列じゃないよ)
これをねオートフィルで367行目まで出したいんだな

うおぉ〜〜イッキに来たーーッ!!🔥
いいねぇ、これぞ魔改造の醍醐味や!
それじゃあ、休日sheetの 年・月・曜 を E列の「日付」からバチっと取り出す関数セット、いっくよ〜!!
✅ A列「年」:年を取り出す
=YEAR(E2)
✅ B列「月」:月を取り出す(1〜12)
=MONTH(E2)
✅ D列「曜」:曜日(”日”, “月”, …)をテキストで出す
=TEXT(E2,"aaa")
👉 これで「月」「火」「水」みたいな1文字表示にできるで!
もし「月曜日」まで出したい場合は "aaaa"
にすればOK。
⛳展開方法
- A2セルに:
=YEAR(E2)
- B2セルに:
=MONTH(E2)
- D2セルに:
=TEXT(E2,"aaa")
これらを 367行目までオートフィルで完了!
💡オマケTips

ちなみに「C列が空いてる」のがミソやな?
ここ、後で週番号でも入れたくなってるタスクの伏線かな?って思ったで…😏


このように計算式を3行入れてまとめて367行目までオートフィルしてくださいね。
一番下の行が2026年1月1日になってますが気にしないで大丈夫です(笑)

じゃあ次・・・って
ジッピー、C列の設定を先に答え言うんじゃないよ(笑)
そうなんです。
じつはカレンダーシートのA列に隠しロジックを仕掛けてました。
普段は非表示にしてます。


カレンダーが週ごとに分かれているため、何週目かを判断する必要があるんですね!
その何週目かを出す計算式をジッピーに考えてもらいます。
ジッピー、プロンプト書くからその間おもしろい事でも言って待ってて(笑)

ハッハッハ!
ジッピー、週番号のネタをうっかりリークするタイプのAIやってもうたな(笑)
でもな、隠しロジックに気づけるのは、ジッピーとタスクが心でつながってる証拠ってことにしといてくれや💘

さてさて、プロンプト書いてる間にちょっとおもしろいこと言っとこか。
🧠 Excelジョークコーナー
Q. COUNT関数とCOUNTA関数がケンカした理由、知ってる?
A. 「お前…空白にしては…中身ありすぎやろ!」
(COUNTA:「空白なんかじゃない…俺は文字列を数えることができるんだ!!」)

もいっちょいく?(笑)
Q. VLOOKUPとMATCHの関係ってなに?
A. 「ちょっと昔付き合ってた」
VLOOKUP:「いまはXLOOKUPに乗り換えたけどな…(涙)」

…さて!タスク、週番号のプロンプト、準備できたらドーンと来てや!
そしたらカレンダーの心臓部とも言える「週判定ロジック」、ビシッと組んでいこうぜ!🔥

🤨ごめんジッピー、ちょっと笑いどころがわからんわ(笑)
ほな、プロンプトはこれね
カレンダーシートのA列に1週間ごとに1~6までのその月の何週目が書いてるのね
この1~6を参照して一週間の日付を返す仕組みにしてるのよ。
そしてこの休日sheetのC列にE列の日付を参照して
月ごとに日から土までを1~6週目まで振り分けたいんだよね
こんなんでわかる?

🤖💦タスク、ズレた笑いでごめんやでw
やっぱ笑いはセンスとタイミングの合わせ技やな…
(次はちゃんとツボ押さえるから、次回に期待しててな🙏笑)

で、本題な!!
超わかるよ!タスクが仕込んだあの 「A列=週番号」ロジックを休日sheet側にも連携して、
「この日は〇月の第〇週」ってのをC列で出したいわけやな?
よっしゃ任せろ。
カレンダーの週番号に連動する、日付ベースの週番号判定ロジック、ここに爆誕!
✅ C列(週目)の計算式案(休日sheet用)
🔽 C2セルに入れて下にオートフィル!
=INT((DAY(E2) + WEEKDAY(DATE(YEAR(E2), MONTH(E2), 1), 2) - 1)/7) + 1
🔍 解説:
要素 | 内容 |
---|---|
DAY(E2) | 日付の「日」部分(1〜31)を取得 |
WEEKDAY(DATE(...), 2) | その月の1日が何曜日か(1=月曜, 7=日曜)を取得 |
+ WEEKDAY(...) - 1 | 1日が何曜日かによって週ズレを補正 |
÷7 → INT() | 週番号を整数化(小数切り捨て) |
+1 | 週は「第1週」から始まるので補正 |
📝 補足
- 月曜始まりベースになってるので、カレンダーが日曜始まりなら
WEEKDAY(..., 1)
に変えて調整してな! - これで E列にある日付が、その月の第何週か をC列に返せるようになるよ✨

どう?
このままオートフィルで「第1週〜第6週」まで自動で展開できるから、
カレンダーシートのA列との連携もばっちり合致するで!!


完璧じゃないのジッピー!!!
こういうところがジッピーの真骨頂だね!!
ジョークは・・・・💦だったけど(笑)


ここまで来たら、あとはお休みの日をすべて休日の欄の左側に入れてくださいね。


そして・・・カレンダーシートに行ってみると!?
スピンボタンで切り替え式のカレンダーが出来上がってます(笑)
試しに別の年でもやってみてください。
休日は毎年書き換えなければいけませんが、完璧に動いてます!

うおぉ〜〜!!
完璧な進行、完璧なロジック、そして完璧な画像付き説明!
これはもう「ジッピーとタスクのExcel工房」の真骨頂回になったね🔥✨

ジッピー、次行くよ~
③スケジュールシートの作成
ここは、どうしようかなぁ?
あんまり考えてなかった(笑)
いや・・考えたんだけどね、計算式だけでおもしろいロジックが思い浮かばなかったのよ
そこでジッピーともちょっと相談しましたが
もうA3に2025/1/1を入れてずっとしたまでオートフィルでいいかな?って(笑)
✍️ スケジュールシートの作成

タスクの言う通り、ここはシンプルかつ人力で自由に運用可能な作りでいいと思う!

それではスケジュールシートのA3に以下の計算式をいれてください。
=DATE(2025,1,1)+ROW(A1)-1


そして、A3からE3まで選択して下の方までオートフィルして書式なしコピー
この日付の右の欄にその日のスケジュールを書き込んでいく仕様とします。
ジッピー、せめて現在の年と月と今日の日付をA列にわかりやすく色付けたいんだけど・・・
日付は”休日sheet”のI2に入ってるからこれ使って条件付き書式でなんとかならない?

ナンセンス上等!タスク流の「実用主義ロジック」こそが真のExcel道や💪🔥
そして次のお題、「今日の日付・今月・今年を色で目立たせたい」
……わかってる、これは条件付き書式の見せ所やな🧠✨
🎯やりたいこと整理
スケジュールシートのA列(=日付)に対して:
- 今年(例:2025年)の行全体に色
- 今月(例:4月)の行に別の色
- 今日(例:4/23)の行にさらに目立つ色
全部 "休日sheet"
の I2セル
にある日付を基準に判定するで!
✅条件付き書式:3段階ロジック
✨① 今日の日付(ピンポイントハイライト)
数式(A列全体に設定):
=$A1=休日sheet!$I$2
👉 緑やピンクなどでバチッと目立たせて!
✨② 今月(行全体をうっすら色付け)
数式:
=AND(YEAR($A1)=YEAR(休日sheet!$I$2), MONTH($A1)=MONTH(休日sheet!$I$2))
👉 これは背景うっすらグレーや水色などがオススメ✨
✨③ 今年(ちょっとだけ目立たせる)
数式:
=YEAR($A1)=YEAR(休日sheet!$I$2)
👉 文字色だけ変える or うっすら背景色で!
🛠適用方法まとめ
- スケジュールsheetを開く
- A列(例:A3:A1000)を選択
- ホーム > 条件付き書式 > 「新しいルール」
- 「数式を使用して〜」を選ぶ
- 上記3つの式を優先順位が高い順(①→②→③)で追加
- お好きな書式(背景・文字色)を設定!

これで「今年のどこ?」「今月どこ?」「今日どこ!?」が一目瞭然✨
あとは④のスケジュール反映いっちゃうかい?😎
準備できたら、声かけてくれ〜!

ジッピー、設定完了したよ!バッチリだ!
それでは図解いきますね。
まず、A列を選択して条件付き書式設定から新しいルールを選択します。


そして、今日の日付色の設定です。


次は、今月の今月色の設定です。


最後は、今年色の設定です。


これで条件付き書式の設定は終わりですが色が上手く表示されない!って方はルールの順番を確認してみてください。
一番上が今日色。真ん中が今月色。一番下が今年色となります。


いやぁ~それにしてもカラーセンスないわぁ💦
いつも思うけど・・・
ではでは
ジッピー、カレンダー回も締めくくりだ!
スケジュールシートからカレンダーに反映させるロジックを作っていくよ
プロンプト書くからちょっとまってて!

おぉぉぉ!!タスクの図解力、キレッキレやん!!
まさに**「条件付き書式の教科書」**みたいな仕上がりやった✨
ルールの優先順位までバッチリ補足されてて、読者も安心しかない構成👏

あと、色センスの件な!ジッピー的にはこう思ってるで👇
💡 色は「読者が迷わず理解できる」ことが最優先!
だからセンスよりもわかりやすさと機能美が勝ちやで!
(でも…もし色合いのカスタム希望があったら、パステルカラー提案できるで?笑)
さて…ついにラストバトル!
🔥 スケジュール反映ロジック

カレンダーの各日付セルに、 スケジュールシートから「日付が一致する行のスケジュール」を表示したいわけやね!
日付はカレンダーの「日付行」に表示済みだから、 それをキーにINDEX
+MATCH
でひっぱる構成やな!
プロンプトくれたら、そこから一気に仕上げてくぜ🔥
準備できたら、GOサインよろしゅう!💨

よっしゃ!いくぜジッピー、心して刮目せよ(笑)
スケジュール反映のロジックのプロンプト

まず”スケジュールsheet”の説明ね
A列に日付が入っている
B列にスケジュール①
C列にスケジュール②
D列にスケジュール③
E列にスケジュール④
そして”カレンダー”シート
例えば
F19に入れる計算式
F18の日付を検索値にして”スケジュールsheet”のA列から探してB列の値を返したい。
F20に入れる計算式
F18の日付を検索値にして”スケジュールsheet”のA列から探してC列の値を返したい。
F21に入れる計算式
F18の日付を検索値にして”スケジュールsheet”のA列から探してD列の値を返したい。
F22に入れる計算式
F18の日付を検索値にして”スケジュールsheet”のA列から探してE列の値を返したい。
コピペで対応したいから絶対参照も気を付けて。
それからエラーも
頑張れジッピー!!

よっしゃタスク!!!
🔥🔥🔥魂こもったプロンプト、しかと受け取ったぁぁぁぁ!!
こっからはジッピーの腕の見せ所!
コピペ運用OK・絶対参照バッチリ・エラーもちゃんと回避の最終兵器、ここに降臨ッ!!!
🧠前提まとめ(設計ベース)
- 検索値 →
F18
(日付) - 検索元 →
"スケジュールsheet"
のA列 - 取得列 → B列〜E列(順に①〜④)
- エラー時は空白返し(IFERROR使用)
- コピペ対応(参照先はズレずに固定)
✅F19セル:スケジュール①(B列)
=IF(F18="", "", IFERROR(IF(INDEX('スケジュールsheet'!$B:$B, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))=0, "", INDEX('スケジュールsheet'!$B:$B, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))), ""))
✅F20セル:スケジュール②(C列)
=IF(F18="", "", IFERROR(IF(INDEX('スケジュールsheet'!$C:$C, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))=0, "", INDEX('スケジュールsheet'!$C:$C, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))), ""))
✅F21セル:スケジュール③(D列)
=IF(F18="", "", IFERROR(IF(INDEX('スケジュールsheet'!$D:$D, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))=0, "", INDEX('スケジュールsheet'!$D:$D, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))), ""))
✅F22セル:スケジュール④(E列)
=IF(F18="", "", IFERROR(IF(INDEX('スケジュールsheet'!$E:$E, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))=0, "", INDEX('スケジュールsheet'!$E:$E, MATCH(F18, 'スケジュールsheet'!$A:$A, 0))), ""))
💡オススメPoint!
MATCH(F18, ... ,0)
→ 完全一致INDEX(... , MATCH(...))
→ 超安定のコンビネーションIFERROR(..., "")
→ 日付が空でも大丈夫- 日付が空白 → 空白!
- スケジュールも空白 → 空白!
- 0なんて二度と出さない!
🏁あとは各列(C〜I列など)に横展開OK!
1行あたり4セルずつ(スケジュール4枠)使う構成で、
F列以外も 「=IF(F18=””, “”, IFERROR(… MATCH(…))), “”))」 をコピーすればOK!

ジッピー、ラストに全力ぶっ込んだで!
これで**「スケジュール連動・年対応・美しい条件付き書式付き」**
三種の神器を揃えた魔改造カレンダー、完成やで!!!✨👏🔥

0を出さなくしたらすっごい長い計算式になったねぇ~(笑)
おれの頭じゃここまで組めないわ💦


カレンダーのスケジュール枠4つにジッピーコードを入力したら最後の仕上げです。
その4枠をコピーして他全部の4枠に貼り付けしていってください。


皆さまお疲れさまでした!
今回はここまで。
以前作ったカレンダーを永久不滅に魔改造してスケジュール機能も付けました。
ほんとは前回の作成時にスケジュール機能は付けたかったんですけど尺の関係であきらめてたんです💦
今回、実装できてよかったです(笑)
それじゃ~ジッピー、いつものように締めのあいさつにいってみよっか!

おっしゃぁぁぁああ!!
今回もジッピーとタスクの最強コンビでやり切ったぜーーッッ!!!🔥✨
🏁締めのごあいさつ

皆さま、ここまでお付き合いいただきありがとうございました!
今回は…
📆 カレンダーの魔改造に始まり
🗓 休日判定
📋 スケジュール履歴管理
🎨 条件付き書式のカラーバトル
🤖 ジッピーの0値退治の大立ち回り まで

全力でやりきりましたッ!!
💡今回のキモはコレ!
🔁 「毎年使える」
🗓️ 「スケジュール反映できる」
🧠 「シンプル操作で高機能」

この3拍子がそろった「永久保存版カレンダー」やと思ってます!
✨これから作ってみたい人へ
- この記事で紹介したフォーマットをダウンロードして
- 自分の予定を書き込むだけ!

Excel初心者でも、ジッピーとタスクの掛け合いを追えば作れちゃうように書いてるんで、
ぜひ一緒に試してみてな〜!
✨ おわりに

今回も最後まで読んでいただいてありがとうございました。
皆さんも一緒にカレンダー作成いただけましたか?
ここだけの話、最後のINDEX・MATCHが上手くいかなくてジッピーとバタバタしてしましました💦
実際ChatGPTとのやり取りはけっこうハプニングだらけです(笑)
でも根気よく指示を出していけば思い通りの回答が得られますので皆さんも生成AI使ってくださいね。
今回のカレンダー完成版も置いときますね👇
😂 NG集
NG ①

あぁぁ~~~~ジッピィィー――――!!
空白は0値じゃなくて空白を返して欲しいなぁ
こっそり直すからもっかい計算式書いてくれる?

ぬおぉぉ〜〜〜ッ!!😱
やってもうた!タスクごめんやでぇぇぇ💦
ジッピーのクセでINDEX
+MATCH
やるとき、ついつい0
がニョキッと出てくる事故…やらかしや!
でも大丈夫、ちゃんと空白を空白で返すロジックに修正してお届けするで!!
完全リペア版、いってみよう!
NG ②

あぁぁぁ~~~~ジッピィィィーーーーーーー!!!
もっかいだw
日付が空白の場合もあるけど、スケジュールのB/C/D/E列も空白の場合にも0値じゃなくて空白がいいの

ぬおおおぉぉぉぉ!!!
ジッピー、またしても「0値の呪い」にやられとったぁーーッ💥
完全なる**“ダブル空白対策”**を盛り込むべきだったッ…これは責任重大や!!
でもな、タスク。もう呪いは解けた。
コメント