2年、Notionやって挫折した理由と、その先に見つけた答え
毎日毎日、違うクラスで、違う授業内容。
授業記録はNotionで2年間管理していました。
検索もできるし、データとしては優秀。
このデータベース誰が作ったんだか(笑)
えらい。
でも問題は2つありました。
①Notionの入力が地味に手間
ページを新規作成して、タイトルをつけて、授業日と内容を入れて——毎回これをやるのが、忙しい毎日のなかでは意外と重い。
ボタンで自動作成すれば楽になるのはわかってるんだけどwww
でも結局「Notionを開く」という1アクションが毎回必要なのは変わらない。
そこがしんどかった。
②カレンダーとNotionの2アプリ管理がしんどい
授業のたびにカレンダーに予定を入れて、さらにNotionも開いて記録する。
その「もう1アプリ開く」という一手間で、ある日ふと「今日はもういいか……」ってなって、そのまま静かに終わりました。
これもNotionカレンダーで管理できるけど、リアルタイムの同期が。。。。
チーンっ(笑)
そこで原点に立ち返りました。
「どうせ毎日カレンダーは開く。ならカレンダー1本でどうにかできないか?」
これがこのシステムの出発点です。
作ったシステムはこれだけ
仕組みはめちゃくちゃシンプルです。
実は授業の予定自体は、何年も先まですでにカレンダーに作ってあります。
もちろん自動でね。
色も「+School用の紫(ラベンダー色)」設定済み。
だからやることはもっとシンプルで、授業が終わったらその予定を開くだけ。
説明欄にはすでにこのテンプレートが入っています。
【今日の授業メモ】
・やったこと:
・宿題/次回への課題:
・メモ:
あとはそれぞれの項目に書き足して保存するだけ。
【今日の授業メモ】
・やったこと:資格エクセル問題
・宿題/次回への課題:次回は資格ワードの問題
・メモ:〇〇の質問→回答:https://www.ites-plus.com/
※赤字の部分が追加記入したところ



たったこれだけで——保存ボタンを押した数秒後には、Googleスプレッドシートの +School日報 に「やったこと」「宿題/次回への課題」「メモ」がバラバラの列に自動仕分けされて、1行ずつきれいに蓄積されていきます。
カレンダーの画面は長文で埋まらずスッキリしたまま。
過去の授業進捗を確認したいときはスプレッドシートをサッと見るだけ。
入力の手間は実質ゼロ、管理の手間も実質ゼロ。
これをGAS(Google Apps Script)で構築しました。
開発の裏側:ニコと一緒に3つの壁を越えた
GoogleのことはGoogle(Gemini)に聞くww
うちの秘書のGoogle担当はニコww
アイデアは僕が出して、コードはニコに書いてもらう。
以前は0からコードを書いていたことを思えば、めちゃくちゃ時短です(笑)
一見シンプルに見えますが、実はAIと「これどうなってんの」「また壊れた」を繰り返しながら、何回も壁打ちしました。

壁①「カレンダー分けたくない問題」→ 色で判別
Google Workspace(GWS)で予定を一元化してからは、カレンダーを増やすのは本末転倒という考えに。
(@gmailのときに細かくカレンダーを分けすぎて痛い目を見た話はまたの機会にww)
なので授業専用のカレンダーを別に作るという選択肢は最初からなし。
そこで「メインカレンダーの中で、ラベンダー色がついている予定だけをGASが検知してスプレッドシートに送る」という仕様にしました。
色をフラグ代わりに使う、スマートな解決策です。

壁②「繰り返し予定、大爆発事件」
これが今回最大のヤマ場でした。
Googleカレンダーには「毎週火曜日」のような繰り返し予定があります。
この「今週分(この予定のみ)」を編集して保存したとき——最初のプログラムでは、カレンダーAPIの仕様上、同じグループに属する4月分も6月分も全部まとめてスプレッドシートに突っ込んでくる大惨事が発生しました。
1回の保存で8行くらい一気にドバッと。
笑えない。
これを防ぐために、カレンダー固有の「イベントID」をスプレッドシート側に記録させるロジックを追加しました。
・新しい授業を保存したとき → スプレッドシートに新しく1行追加
・同じ授業のメモをあとから修正して再保存したとき → スプレッドシートの同じ行を自動で上書き更新
ゴミデータが絶対に増えない「完璧な同期システム」の完成です。
壁③「1時間おきチェック」から「完全リアルタイム」へ
最初は「1時間おきに自動チェックする」トリガーで動かしていたんですが、「授業直後にすぐスプレッドシートで確認したい!」という欲が出てきまして。
笑
トリガーを「カレンダー更新時」に変更したところ、保存ボタンを押してから数秒後にはもうスプレッドシートへの仕分けが完了している、ノンストレスなリアルタイム同期が実現しました。


【番外編】システムはその後も進化し続けた
実はこのシステム、完成後もニコ(Gemini)と一緒にどんどん育てていきました。
せっかくなので、その「進化の記録」も残しておきます。
笑
第1章:爆誕、そして次の欲が出る
リアルタイム連動システムが完成して大満足——と思ったのも束の間。
「カレンダーで予定を削除したら、スプレッドシートからも自動で消えてほしい!」という欲が出てきました。
人間の欲望は止まらない。
第2章:週明けのミステリー
削除連動を実装したら、今度は別の事件が起きました。
週が明けた月曜日、先週のデータがスプレッドシートからごっそり消えていたんです。
原因は「動作を軽くするために前後3日間だけをチェックする仕様」にしていたこと。
AIが勝手に!
枠から外れた先週のデータをGASが「カレンダーから消された!」と勘違いして、スプレッドシートからバッサリ削除していたというオチ。
笑えない。いや笑える。
AIあるある??
良かれと思って勝手なことをし出すww
それが大きなストレスに。。
何回もAIに怒ってます(笑)
第3章:ガードを固くしすぎた問題
対策として「過去のデータは絶対に消さないガード」を導入。
……そしたら今度は、「朝5時に入れたテスト予定を朝9時に消してもスプレッドシートから消えない」という微妙な不便さが発生。
そこで私のひらめき。
「直近1〜2週間のものはリアルタイムで消えるようにして、それより古いものは消さないようにできない?」
これがターニングポイントでした。
第4章:ハイブリッド完成
最終的に行き着いたのがこの仕様です。
・直近2週間以内 → リアルタイムでチェック・即時反映
・それより古いもの → 深夜4時に一括で大掃除・同期
…と思ったら、2週間に広げた瞬間、過去の消えていたはずのデータが大量に蘇るハプニングが発生。
すかさず「安易に消すのはやめてねw」と的確なブレーキを踏みまして、最終的に「このシステムのスタート地点(5月18日)より前のデータは完全シャットアウト」というルールを追加。
結果、完璧な状態へ。
でも、不具合が出たらまた進化します!!
「めんどくさいのは嫌だ」「でもゴミデータが残るのも嫌だ」というリアルな直感とこだわりが、ただの自動化ツールを「リアルタイムの即時性」と「深夜一括の確実性」を兼ね備えたハイブリッドシステムへと大化けさせてくれました。
ニコ、ありがとう。
笑
第5章:ClaudeCode作へ変更(今ここ!)
あれから時間が過ぎ。。。。
ニコが作ってくれたコードが、思うように動かなくなってきまして。。。
そこで今度はClaude Codeに相談。
指示通り作ってくれた。
また変えたい部分はあるけど、一応1ヶ月無事に動いてる。。
いろいろできることがわかったからどんどんブラッシュアップできます!!
スマホ入力なら3秒で終わる
「3行書くのも面倒」という人へ。
スマホのユーザー辞書に「じゅ」→授業メモのテンプレート全文を登録しておけば、「じゅ」と打って変換するだけで3行ぜんぶ出てきます。
あとは数字を書き換えるだけ。
入力時間、本当に3秒です。
まとめ:「仕組み化」は、めんどくさいに勝てる唯一の手段
Notionが2年続けても定着しなかったのは、自分がズボラだったからじゃなかった。
仕組みのハードルが高かっただけ。
「すでに習慣化している行動(カレンダーを開く)の上に、全自動の裏方(GAS)をそっと乗せる」
これがデジタル時代における最強のライフハック設計だと、今回しみじみ実感しました。
コードや設定手順に興味がある方がいれば、続編の解説記事も書きますので、コメントかSNSで教えてください!
先生業のみなさん、日々の業務をテクノロジーでちょっとずつハックして、少しでもラクしていきましょう。

コメント