中小企業診断士・ITコーディネータの大澤真介です。
生成AI(Claude)と対話しながらGoogle Apps Script(GAS)を書いて、Googleフォームの自動生成・出欠管理・リマインド機能をスプレッドシート上に約3時間で構築しました。任意団体の会員交流会の幹事業務を、来年の担当者にそのまま引き継げる仕組みにするためです。
ただし、この記事で一番伝えたいのは「3時間でできた」ということではありません。
「技術的にできることを、あえてやらなかった」という話です。
なぜ作ることになったのか
私は中小企業診断士の任意団体に所属しており、来年度(2026年6月開催予定)の会員交流会の幹事を担当しています。
会員交流会では、参加者の出欠確認、新入会員の自己紹介情報の収集、リーダー・理事への研究会紹介の依頼など、複数の情報を集める必要があります。従来は、Googleフォームを手作業で作り、回答をスプレッドシートで管理し、集計も手作業。参加者リストの更新や変更対応、未提出の方へのリマインドと、地味で手間のかかる作業が発生していました。
毎年、メインの幹事が変わります。そして毎年、同じような作業を一から作り直しています。
「これ、仕組み化できるのでは」と思ったのが始まりです。
3時間で何を作ったか
生成AI(Claude)と対話しながら、以下の機能を持つGASスクリプトを作成しました。
- Googleフォームの自動生成:新入会員用・研究会リーダー&理事用の2種類のフォームを、設定シートの内容に基づいてワンクリックで生成
- 回答の自動集約:フォーム回答が1つのスプレッドシートに自動反映
- 設定シートによる一元管理:イベント名、開催日、回答期限、フォームの説明文などを1箇所で管理
- カスタムメニュー:スプレッドシートを開くと「📋 交流会管理」メニューが表示され、非エンジニアでも操作可能
- 引き継ぎ手順の自動出力:設定シート内に次年度幹事への引き継ぎ手順を自動記載
開発の流れとしては、まず参加者一覧のExcelファイルをClaudeに渡して構造を分析させ、そこからフォーム設計→GASコード生成→テスト→修正を繰り返しました。
コードの修正は10回以上行いましたが、「ここの文言をこう変えたい」「この選択肢を追加したい」「集計の仕組みをこうしたい」「重複登録の処理は・・・」といった要望を日本語で伝えるだけで、Claudeが該当箇所を特定して修正案を返してくれます。
プログラミングの専門知識がなくても、「何をしたいか」を言語化できれば、生成AIがコードに変換してくれる。
これが2026年の現実です。
なぜ「GAS」だったのか
2026年の今、ツールを作る選択肢は豊富です。
たとえば最近話題のClaude Codeを使えば、もっとリッチなWebアプリケーションを作ることもできたでしょう。
それでも私が、GASを選んだ理由は明確です。
まず、GASのコードはシンプルです。
JavaScriptベースで、1ファイルに収まる規模感。
そしてインターネット上に参考情報が豊富にあります。
困ったときに「GAS フォーム作成」で検索すれば、解説記事がいくらでも出てくる。
さらに重要なのは、どの生成AIでもGASのコード生成・修正ができるという点です。
ChatGPTでもClaudeでもGeminiでも、GASは得意分野です。来年の担当者がどのAIを使っていても対応できる。
特定のツールや環境に依存しない、という私の設計思想を反映しています。
6つの設計判断——「やらなかったこと」と「代わりにやったこと」
ここからが本題です。
技術的にはもっと高機能なものが作れました。
でも、私はあえて機能を絞り、別のアプローチを選びました。
理由は明確で、来年以降の幹事が困らないようにするためです。
① GASによるメール自動配信
フォーム回答時の確認メールは、Googleフォーム自体が持っている「回答のコピーを送信」機能を使っています。
GASで独自の自動返信メール送信を実装することは可能です。
その方が、カスタマイズされたフォーマット・テキストで自動返信することができました。
でも、シンプルで十分。わざわざGASでGmail送信処理を書く必要はないと判断しました。
Gmailの権限設定が絡むとトラブル時の原因特定が一気に難しくなるので、フォームの標準機能で済むものはそちらに任せました。
② リマインドメールの自動送信
スプレッドシート内で回答・提出状況は管理できているので、一定期間経過後にリマインドメールを自動送信する仕組みも技術的には実装可能でした。でも見送りました。
代わりに、誰にリマインドを送る必要があるのかが一目でわかるようにして、未回答者のメールアドレスを1クリックでクリップボードにコピーできる機能を実装しました。
「全自動」にするのではなく、「判断は人間、作業は最小限」にする。
この設計が、引き継いだ担当者にとって一番扱いやすいと判断しました。
③ API連携(PDF結合など)
外部APIを使った自動PDF結合は見送りました。
参加者の自己紹介資料を自動でPDF結合して配布する、という仕組みも検討しました。
しかし、外部APIは仕様変更・認証トークンの期限切れなど、作った後に「静かに壊れる」リスクがあります。
代わりにPDFファイルはスプシの会員マスタと照合して、ファイル名をフリガナに変更するようにしました。
こうしておくことで、MacやWindowsの標準機能でPDFを結合する際に手間をかけることなく、50音順で作成することが可能になります。
④ Googleアカウント限定機能の回避
Googleフォームのファイルアップロード機能は、回答者がGoogleアカウントでログインしていないと使えません。参加者全員がGoogleアカウントを持っているとは限らない。
そこで、Googleフォームの標準アップロード機能は使わず、GASで専用のアップロードフォームを別途作成しました。出欠確認時に登録したメールアドレスでバリデーションをかけることで、Googleアカウント不要でファイル提出ができる仕組みにしています。
「できないから諦める」ではなく「制約を回避する方法を設計する」。ここは生成AIとの対話が特に役立った部分です。
⑤ 1つのスクリプトで完結する設計
環境構築が複雑になると、引き継ぎのハードルが上がります。スプレッドシートのコピーとGASの実行だけで、すべての設定・フォーム生成・データ管理が完結するように設計しました。
追加のツールやサービスへの依存はゼロです。
⑥ 丁寧なガイドの埋め込み
コードの外側にも気を配りました。
設定シートには引き継ぎ手順を自動出力し、操作時にはアラートで確認メッセージを表示。
カスタムメニューのラベルにも絵文字をつけて、何をするボタンか一目でわかるようにしています。
「README」的な情報をツールの中に埋め込む発想です。
「GAS×生成AI」という引き継ぎ戦略
これらの設計判断に共通しているのは、複雑にするほど、来年の担当者が「自分で直せる」可能性が下がる、という考え方です。
では、シンプルに作っただけで「自分で直せる」ようになるか。
正直、それだけでは足りません。
コードを読める人が引き継ぐとは限らないからです。
そこで、引き継ぎ手順の末尾にこんな一文を入れました。
機能の追加・変更などは生成AI(ChatGPT、Claudeなど)に相談すると便利です。Apps Scriptエディタからコード全文をコピーしてAIに渡し、やりたいことを伝えてください。
今の生成AIは、GASのコードを渡せばトラブルシュートができます。
「このエラーが出ています」と伝えれば原因を特定し、「ここの動きを変えたい」と伝えれば該当箇所を修正してくれます。
つまり私が作ったのは、「生成AIに渡すことを前提にした、シンプルなコード」を、それに最も適したGAS形式のツールです。
私がいなくても、コードと生成AIがあれば、次の担当者は前に進める。
これが、このツールの本当の引き継ぎ戦略です。
AI活用の「最適値」を探す
世の中には「AIでここまでできた」という上限を見せる記事が多いと感じています。
もちろんそれも価値がある。
でも、現場で本当に必要なのは「最大値」ではなく「最適値」です。
交流会本番は6月末。それまでの数ヶ月間は、私自身がしっかり運用に入りながら問題点を洗い出し、随時コードを更新していくつもりです。
いわゆるHITL(Human In The Loop)—人間がループの中に入って、仕組みの精度を上げていく運用です。
「作って終わり」ではなく「使いながら磨く」。そして磨いた状態で、来年度の幹事にバトンを渡す。
そのバトンを受け取った次の担当者も、また使いながら磨いていくでしょう。生成AIに相談しながら、自分たちの運用に合わせてコードを直していく。そうやって、年々このツールが良くなっていけばいい。
自分が作れるかどうかと、誰かが使い続けられるかどうかは、まったく別の問いです。生成AIの登場で前者のハードルは劇的に下がりました。
だからこそ今、後者—「続けられるか」に本気で向き合う価値があると思っています。
AIは「できる上限」を引き上げる道具。
でも私が使いたいのは、「続けられる最適値」を見つけるための道具としてのAIです。
最後までお読みいただきありがとうございました。 中小企業のIT活用・生成AI活用について、引き続き発信していきます。
この記事はnoteでも公開しています。
実装支援・DX推進・生成AI活用のご相談は、お気軽にお問い合わせください。
→ お問い合わせはこちらから
