
【追記:2025年11月26日 機能アップデートのお知らせ】本記事の最後に内容を説明しています。
教務部の先生方、平素より学校運営の中核を担う業務、誠にありがとうございます。
日々の多忙な業務の中でも、特に教育課程の編成と、それに基づく時数管理は、多くの時間と労力を要する、責任の重い仕事かと存じます。
本資料では、そんな教務部の先生方の業務を劇的に効率化し、「作業」の時間を「未来を創る時間」に変えるための、Googleスプレッドシートを活用した**「時数管理・分析システム」**をご提案します。
- 1. 背景:なぜ今、時数管理のDX化が必要なのか?
- 2. 開発ストーリー:現場の「困りごと」から生まれた、対話型開発の軌跡:文系でもできるコード作成!
- 3. システム概要:4つのシートが連携する、シンプルな仕組み
- 4. このシステムがもたらす「3つの変革」
- 4-1. なぜ「ボタンで実行」? 自動化の技術選定について
- 4-2. 参考までに、関数で集計する方法(GAS不要)
1. 背景:なぜ今、時数管理のDX化が必要なのか?
特別支援学校の時数管理は、なぜこれほどまでに複雑なのでしょうか。
- 個別の教育計画:児童生徒一人ひとりのニーズに合わせた、多様な時間割が存在する。
- 多様な活動内容:同じ「自立活動」でも、内容によって時数が細かく異なる。
- 計画と実績の乖離:行事や児童生徒の状況により、当初の計画通りに進まないことが多い。
これらの要因が絡み合い、手作業での集計は限界に達しています。その結果、以下のような課題が生まれています。
| 課題 | 具体的な状況 |
| ① 煩雑な集計とヒューマンエラー | 電卓とExcelを駆使した集計作業に膨大な時間がかかり、計算ミスも起こりやすい。 |
| ② 業務の属人化 | 「あの先生しか分からない」複雑なExcelファイルが存在し、異動や退職時の引継ぎが困難。 |
| ③ ファイルの散在とバージョン管理 | 各自のPCにファイルが点在し、「最新版はどれ?」という確認作業が発生。 |
| ④ 経験と勘に頼る評価 | 計画と実績の比較が難しく、客観的データに基づいた教育課程の評価がしにくい。 |
本システムは、これらの課題をテクノロジーの力で根本から解決します。
2. 開発ストーリー:現場の「困りごと」から生まれた、対話型開発の軌跡:文系でもできるコード作成!
この「時数管理・分析システム」は、机上の空論から生まれたものではありません。
それは、一人の先生が抱える、現場の切実な悩みから始まりました。
「特別支援学校の複雑な時数管理、どうにかならないか…」
この問いを起点に、Google AI Studioと数多くの対話を行いGASコードをAIと一緒に考えていきました。
- 先生:「同じ教科でも、午前と午後で時数が違うんです。これをまとめて集計したい…」
- AI:「承知しました。では、教科名の『【】』より前の部分を基準に合計するロジックを組み込みましょう」
- 先生:「時数の基準は、将来変わるかもしれない。マスタシートから読み込むようにできませんか?」
- AI:「素晴らしい改善案です。その方がメンテナンス性が格段に向上しますね。時数マスタのB列を参照するようにコードを修正します」
- 先生:「計画と実績を比較したいので、シートを2つに分けて、それぞれ集計できるようにしたいです」
- AI:「承知いたしました。メニューに『計画の集計』と『実施後の集計』を追加し、それぞれの表に結果を反映させる機能を実装します」
このように、現場のニーズを提示いただき、それに対して技術的な解決策を提案し、試行錯誤を繰り返すという、まさに二人三脚の「対話型開発」によって、このシステムは少しずつ形になっていきました。

だからこそ、このシステムには、実際の教育現場で本当に役立つための、細やかな工夫と配慮が詰まっています。この記事は、その開発の軌跡と、そこで得られた知見を、多くの先生方と共有したいという思いから生まれました。
3. システム概要:4つのシートが連携する、シンプルな仕組み
本システムは、使い慣れたGoogleスプレッドシートを基盤とし、相互に連携する4つのシートで構成されます。

新学期前に計画案として作成

実際に実施された実巣を計画シートをもとに修正していく

同一教科でも、実施の時数が違う場合はこのシートに基本情報として入力する。

各教科の時数を自動的に集計し計上します。事前の計画と実施後の時数を比較できる。
- 【マスタ】時数マスタ
- 役割:システムの「心臓部」。貴校で実施する全ての教科・活動のパターンと、それに対応する時数を登録します。
- メリット:ここを各学校の実情に合わせて書き換えると、全ての入力・計算ルールが統一されます。
- 【入力】計画/実施後シート
- 役割:「計画」と「実績」の2つのシートに、日々の時間割を記録します。
- メリット:あらかじめ設定されたプルダウンから選ぶだけなので、入力が迅速・正確。手打ちによるミスを防ぎます。
- 【出力】集計シート
- 役割:ボタン一つで、入力されたデータを基に月別・教科別の時数を自動集計。計画と実績を並べて表示する「ダッシュボード」です。
- メリット:いつでもリアルタイムで現状を可視化でき、会議資料も即座に準備できます。
4. このシステムがもたらす「3つの変革」
変革①:『比較分析』による、データ駆動型の教育課程改善
このシステムの最大の価値は、単なる効率化ではありません。「計画」と「実績」のデータを正確に比較・分析することで、教育の質そのものを向上させることにあります。

- 現状の客観的把握
「A教科は計画より時数が少なかった」「B活動は想定以上に時間を要した」といった実態が、具体的な数値として浮かび上がります。 - 次年度への戦略的フィードバック
この比較データは、次年度の教育課程編成における強力な根拠となります。「時数が不足しがちな教科の予備時間確保」や「個別の指導計画の時間配分の見直し」など、経験や勘だけに頼らない、データに基づいた意思決定が可能になります。
変革②:『共同編集』による、チームでの効率的な業務遂行
本システムはGoogleスプレッドシート上で稼働するため、リアルタイムでの共同作業が可能です。
- 分担作業でスピードアップ
教務部の先生方で手分けして、同時にデータ入力や確認作業を進められます。 - 情報の一元化と共有
「あのファイルは誰のPCに…?」という無駄な時間はもうありません。関係者全員が常に一つの最新情報にアクセスし、認識のズレを防ぎます。 - 会議のペーパーレス化
この「集計」シートをプロジェクターで投影すれば、それだけで会議が始められます。印刷の手間をなくし、本質的な議論に集中できます。
変革③:『自動化』による、未来を創る時間の創出
日々の集計は、メニューに追加された**「時数集計」ボタン**を押すだけ。これまで何時間もかかっていた作業が、わずか数秒で完了します。
この自動化によって生まれた時間は、分析、改善、そして未来の教育を構想するための、より創造的で価値ある業務に充てることができます。
4-1. なぜ「ボタンで実行」? 自動化の技術選定について
システムの自動化には、大きく分けて2つの技術的アプローチがあります。
- 関数(SUMIFSなど):セルに数式を埋め込み、入力と同時にリアルタイムで計算させる方法。
- GAS(Google Apps Script):裏側でプログラムを動かし、「ボタン」などの操作をきっかけに一括で処理させる方法。
どちらも一長一短ですが、本システムでは将来にわたる使いやすさとメンテナンス性を最優先し、**「GAS」**を採用しました。その理由を比較しながらご説明します。
| 比較項目 | GAS(本システムで採用) | 関数(一般的なExcel/スプレッドシートの数式) |
| 更新方法 | 好きな時に**「ボタン」**で実行 | 入力と同時にリアルタイムで自動更新 |
| メンテナンス性<br>(後からの修正しやすさ) | ◎ 非常に高い ・処理の流れが文章のように記述され、読みやすい ・「ここは何の処理」といったコメントを残せる ・ルール変更(例:新しい手当の追加)にも柔軟に対応可能 | △ 困難 ・複数の関数が入れ子になり、数式が極めて長く複雑になる ・一度作った本人でさえ、後から解読・修正するのが難しい |
| 業務の引継ぎ | ○ しやすい<br>処理内容が明確なため、担当者が変わっても理解しやすい。 | × 非常にしにくい<br>複雑な数式は「ブラックボックス化」しやすく、業務の属人化の大きな原因となる。 |
| 動作速度 | データ量にほぼ影響されず、安定して高速に動作。 | データ量が多くなると、シート全体の再計算に時間がかかり、動作が重くなることがある。 |
結論:長期的な視点での最適解は「GAS」
リアルタイム更新は一見魅力的に思えますが、教育課程のルールは年度によって変わる可能性があります。そのたびに、解読不能な数式と格闘するのは現実的ではありません。
本システムがGASを採用したのは、「誰が担当になっても、安心して、長く使い続けられる」ことを最も重視した結果です。ボタンを押すひと手間はありますが、それ以上に、将来にわたるメンテナンスの容易さと業務の標準化という、計り知れないメリットをご提供します。
4-2. 参考までに、関数で集計する方法(GAS不要)
GASのコード作成が難しいと思う方は、以下の関数で「集計」シートに数式を設定することができます。
準備
- これまでに作成したGASは不要になりますので、無効にするか削除していただいて構いません。
- 「集計」シートのB3セル(計画表の国語・4月のセル)に設定します。
手順
- 「集計」シートのB3セルを選択します。
- B3セルに、以下の数式をコピーして貼り付けてください。
=ARRAYFORMULA( IFERROR( SUMIFS( VLOOKUP( TRANSPOSE(FILTER('【計画】時数入力シート'!$D$4:$Z, '【計画】時数入力シート'!$A$4:$A = B$2)), '時数マスタ'!$A$2:$B, 2, FALSE ), TRANSPOSE(FILTER('【計画】時数入力シート'!$D$4:$Z, '【計画】時数入力シート'!$A$4:$A = B$2)), $A3 & "*" ) ) )
※この数式はまだ完成ではありません。これをベースに拡張します。
上記の数式は「4月の国語」だけを集計するものです。これを表全体に適用できるように拡張します。
【推奨】表全体を一つの数式で自動計算する最終版
- まず、「集計」シートのB3からM17の範囲(計画表の数値が入る全範囲)を一度空にしてください。
- 次に、B3セルに以下の最終版の数式を貼り付けます。
=ARRAYFORMULA( SUMIFS( VLOOKUP( TRANSPOSE(SPLIT(FLATTEN(FILTER('【計画】時数入力シート'!A4:A&"|"&'【計画】時数入力シート'!D4:Z,'【計画】時数入力シート'!A4:A<>"")),"|")), '時数マスタ'!A2:B,2,FALSE), INDEX(TRANSPOSE(SPLIT(FLATTEN(FILTER('【計画】時数入力シート'!A4:A&"|"&'【計画】時数入力シート'!D4:Z,'【計画】時数入力シート'!A4:A<>"")),"|")),,2), A3:A17&"*", INDEX(TRANSPOSE(SPLIT(FLATTEN(FILTER('【計画】時数入力シート'!A4:A&"|"&'【計画】時数入力シート'!D4:Z,'【計画】時数入力シート'!A4:A<>"")),"|")),,1), B2:M2 ) ) - Enterキーを押すと、B3からM17の範囲に自動で集計結果が表示されます。
数式の解説
この長い数式は、以下の処理を組み合わせて行っています。
- FILTER & FLATTEN & SPLIT: 「【計画】時数入力シート」のデータを「月」「教科名」のペアの縦一列のリストに変換します。
- VLOOKUP: 変換したリストの教科名をキーに、「時数マスタ」から時数を取得します。
- SUMIFS: 最終的に、「教科名がA列の教科名で始まり」かつ「月が2行目の月と一致する」ものの時数を合計します。
- ARRAYFORMULA: この一連の処理を表全体(B3:M17)に対して一括で行います。
「実施後」の表にも設定する
同様に、「実施後」の表にも設定します。
- 「集計」シートのB22からM36の範囲を一度空にします。
- B22セルに、以下の数式を貼り付けます。
(先ほどの数式の ‘【計画】時数入力シート’ の部分を ‘【実施後】時数入力シート’ に変更し、参照範囲を調整したものです)=ARRAYFORMULA( SUMIFS( VLOOKUP( TRANSPOSE(SPLIT(FLATTEN(FILTER('【実施後】時数入力シート'!A4:A&"|"&'【実施後】時数入力シート'!D4:Z,'【実施後】時数入力シート'!A4:A<>"")),"|")), '時数マスタ'!A2:B,2,FALSE), INDEX(TRANSPOSE(SPLIT(FLATTEN(FILTER('【実施後】時数入力シート'!A4:A&"|"&'【実施後】時数入力シート'!D4:Z,'【実施後】時数入力シート'!A4:A<>"")),"|")),,2), A22:A36&"*", INDEX(TRANSPOSE(SPLIT(FLATTEN(FILTER('【実施後】時数入力シート'!A4:A&"|"&'【実施後】時数入力シート'!D4:Z,'【実施後】時数入力シート'!A4:A<>"")),"|")),,1), B21:M21 ) ) - N列の合計は、今まで通り=SUM(B3:M3)のような簡単な数式で問題ありません。これは各行に設定してください。
これで、入力シートのデータを変更すると、即座に集計結果が自動で更新されるようになります。GASを使ったボタン操作は不要です。

今回のような集計シートを関数で設定すると数式が複雑化します。
任意のセルに関数がありますので、共同で入力をした場合に誤って消してしまうことがよくありますので(関数削除あるある)、修復できる方ががいないと作業ができなくなるので注意が必要です。
5.システムの具体的な使い方:4つのステップで簡単入力・自動集計
システムの具体的な使い方:最初の「マスタ設定」が成功のカギです!
このシステムは、日々の業務の中で直感的にお使いいただけるよう設計されていますが、その能力を最大限に引き出すためには、**一番最初の「準備」**が非常に重要です。
ここでは、その準備から日々の運用までを、4つのステップに分けて詳しくご説明します。
はじめに:システムの「設計図」を作りましょう
家を建てる前に「設計図」が必要なように、このシステムも最初に**「時数マスタ」という設計図**を作成する必要があります。
この「時数マスタ」は、
- 時間割を入力するときのプルダウンメニューの選択肢になる
- 自動集計するときの時数計算の基準になる
という2つの重要な役割を持っています。
つまり、最初にこのマスタを貴校の実情に合わせてしっかりと作り込むことで、システム全体がオーダーメイドのように使いやすくなります。
ステップ1:【最重要・最初に設定】システムの核となる『時数マスタ』を作成します
このステップは、システム導入時に一度だけ、丁寧に行う作業です。

- 「時数マスタ」シートを開きます。
ここが、貴校の教育課程の全てのパターンを登録する場所になります。 - A列に「教科・活動名」、B列に「時数」を漏れなく入力します。
- A列(教科・活動名):時間割入力の際にプルダウンで表示させたい名前を、そのまま入力します。
- B列(時数):A列の活動に対応する時数を半角数字で入力します。(例:0.8, 1, 1.1)
(キャプション例:A列にプルダウンで表示したい名前、B列に対応する時数を入力します。)【ここが最重要ポイントです!】
貴校独自の活動や、同じ教科でも時数が違うパターンは、すべて別の行として登録してください。- (良い例)
- 国語【午前】 | 1
- 国語【午後】 | 1.1
- 自立活動【朝の会】 | 0.4
- 自立活動【掃除】 | 0.8
- (悪い例)
- 国語 | 1 (←午前と午後の区別がつかない)
- 自立活動 | 0.4 (←朝の会と掃除の区別がつかない)
- 学校で使う全てのパターンを登録し終えたら、システムの基本設定は完了です!
ステップ2:【年度はじめに1回だけ】時間割の『計画』を入力します
「設計図」が完成したら、次はその設計図に基づいて「計画」を立てていきます。
- 「【計画】時数入力シート」を開きます。
- 時間割に従って、授業を入力します。
D列以降のセルをクリックすると、プルダウンメニューが表示されます。この中身は、先ほどステップ1で設定した「時数マスタ」のA列が自動的に反映されています。
時間割を見ながら、該当する授業をプルダウンから選んでいくだけです。
【作業を効率化するヒント】
毎週同じ時間割の場合は、最初の1週間分だけ入力し、その範囲をコピーして下の週に貼り付けると、あっという間に入力が完了します。

ステップ3:【日々の記録として】実際の授業『実施後』の記録をつけます
次に、実際に行われた授業の記録(実績)をつけていきます。
- 「【実施後】時数入力シート」を開きます。
- 最も簡単な方法は、「計画」シートからコピーすることです。
まず「【計画】時数入力シート」で入力済みの範囲(例えば4月分すべて)をコピーし、「【実施後】時数入力シート」の同じ場所に貼り付けます。 - 変更があった部分だけを修正します。
計画通りに進まなかった授業や、行事で中止になった授業など、実績と異なる部分だけをプルダウンで選び直したり、空欄にしたりして修正します。
ステップ4:【いつでも好きな時に】ボタン一つで『集計』を実行します
データが入力できたら、いよいよ集計です。この操作は、会議の前や学期末など、結果を確認したい時にいつでも実行できます。
- スプレッドシート上部のメニューバーから「時数マD集計」を探し、集計したい方(「計画」または「実施後」)をクリックします。【ここにメニューから「時数集計」を選んでいる様子の画像を挿入】
- 「集計が完了しました。」というメッセージが表示されたら完了です!
この処理は、ステップ1で設定した「時数マスタ」のB列の時数に基づいて、自動で計算を行っています。 - 「集計」シートを開いて、結果を確認しましょう。
対応する表の数値が、最新のデータで自動的に更新されています。計画と実績をそれぞれ集計すれば、両者の比較も一目瞭然です。【安心ポイント】
集計ボタンは何度押しても大丈夫です。実行するたびに、常に最新の入力データに基づいて、集計結果がクリア&再計算(上書き)される仕組みになっています。

6. 導入と運用の流れ
導入は非常にシンプルです。
- テンプレート提供:お問い合わせ後、本システムのテンプレートとなるスプレッドシートをご提供します。
- マスタ設定:貴校の教育課程に合わせて、「時数マスタ」シートを編集します。
- 運用開始:あとは日々のデータを入力し、ボタンを押すだけです。
【技術選定について】
自動化には、スプレッドシートの「関数」と「GAS(スクリプト)」の2つの方法があります。本システムでは、将来的なルール変更やメンテナンスのしやすさを最優先し、**可読性が高く、引継ぎも容易な「GAS」**を採用しています。これにより、長期にわたって安心してご利用いただけます。
7. まとめ:教務から始める、学校全体のDX
ご紹介した「時数管理・分析システム」は、単なるツールではありません。
それは、データと協働を軸とした新しい働き方であり、教務部から学校全体のデジタルトランスフォーメーション(DX)を牽引する力強い一歩です。
このシステムが、貴校の教育の質の向上、そして先生方の働き方改革に貢献できると確信しております。
ご関心をお持ちいただけましたら、ぜひお気軽にお問い合わせください。より詳細なご説明や、導入に向けたご相談を承ります。
【追記:2025年11月26日 機能アップデートのお知らせ】
【機能アップデート】時数管理システムがさらに進化!年度途中の教科追加もボタン一つで自動対応
いつも「時数管理システム」をご活用いただきありがとうございます。
先生方から寄せられる声をもとに、このシステムをさらに便利で柔軟なものにするための、新しい機能を追加しました!
今回は、**「年度の途中で新しい教科や活動が追加になった場合」**にも、簡単・正確に対応できるようになった点をご紹介します。
こんな場面ありませんか?これまでの課題
年度の計画を立てて運用を始めても、
- 「新しい研究活動として『探究』という科目を追加したい」
- 「児童生徒の実態に合わせて、新しい自立活動の項目を増やしたい」
といった、年度途中でのカリキュラム変更はつきものです。
これまでのシステムでは、このような変更に対応するために、「時数マスタ」の更新に加えて、「集計シート」の表にも手作業で新しい行を追加する必要がありました。
この手作業は、少し手間がかかるだけでなく、「計画表と実施後表の片方に追加し忘れる」といったミスの原因にもなり得ました。
新機能:「集計表の項目を更新」ボタンで全て解決!

今回のアップデートでは、この手作業を完全になくし、誰でもミスなく運用できるように、メニューバーに新しいボタンを追加しました。
その名も、『集計表の項目を更新』ボタンです!
【ここに新しいメニュー項目『集計表の項目を更新』が追加された画像を挿入】
このボタンは、「時数マスタ」の情報を正本とし、その内容に合わせて「集計シート」の表を自動的に最新の状態に整えてくれる、非常に強力な機能です。
新機能によって、何が変わるのか?
この機能追加により、先生方の作業は劇的にシンプルになります。
【Before】
マスタ更新 → 集計シート(計画)に行追加 → 集計シート(実施後)に行追加…(手作業が多く、ミスも心配…)
【After】
マスタ更新 → 『集計表の項目を更新』ボタンをクリック! → 完了!
たったこれだけで、以下の処理が全自動で行われます。
- 「時数マスタ」に新しく追加された教科を自動で認識します。
- 「集計シート」の「計画」表と「実施後」表の両方の末尾に、新しい教科の行を自動で追加します。
- 罫線などの書式や、N列の合計(SUM)関数も、上の行から引き継いで自動で設定します。
これにより、様々な教育課程や、年度途中での急な変更にも、柔軟かつ迅速に対応できるようになりました。
新しい機能の使い方
使い方はとても簡単、わずか2ステップです。
- 【準備】「時数マスタ」シートを編集する
まずは、追加したい新しい教科や活動を「時数マスタ」に追加します。
(例:A列に「探究活動」、B列に「1.9」と入力) - 【実行】新しいメニューをクリックする
メニューバーの**「時数集計」>『集計表の項目を更新』**をクリックします。
これだけで、自動的に「集計シート」が最新の状態に更新され、新しい教科もすぐに集計対象となります。
まとめ:成長し続けるシステムへ
今回のアップデートにより、この時数管理システムは、一度作って終わりではなく、学校の変化に合わせて成長し続ける、より頼もしいパートナーへと進化しました。
ぜひこの新機能を活用して、さらに快適で、正確な時数管理を実現してください。
Pro会員の方は、ここからダウンロードできます!
一般会員の方は、ここからダウンロードできます!





コメント