予約管理や問い合わせ対応、イベント運営など、繰り返し行う作業が多いにも関わらず、高価な業務管理システムは予算的に導入が難しいと感じていませんか?
実は、Googleの無料ツールである「Google Apps Script(GAS)」と「Googleフォーム」を組み合わせることで、専門的なITスキルがなくても業務の自動化が可能です。予約システム構築から自動返信メール送信、データの自動集計まで、様々な業務を効率化できます。
この記事では、GASとGoogleフォームの基本から、実際に活用できる自動化アイデア、具体的な実装方法までを、わかりやすく解説します。
今すぐ実践できる内容ばかりですので、この記事を参考に、まずは小さな自動化から始めてみてください。
GASとは?Googleフォームと組み合わせるメリット
Googleの無料ツールを活用すれば、専門的なプログラミング知識がなくても業務の自動化が可能です。まずはGASとGoogleフォームの基本と、それらを組み合わせるメリットについて見ていきましょう。
GAS(Google Apps Script)の基本とは?
GAS(Google Apps Script)とは、Googleが提供するスクリプト言語で、Googleのさまざまなサービス(スプレッドシート、フォーム、ドキュメントなど)を自動化したり連携させたりできるツールです。JavaScriptをベースにしているため、プログラミング初心者でも比較的取り組みやすいのが特徴です。
例えば、スプレッドシートのデータを自動で処理したり、定期的にメールを送信したり、他のGoogleサービスと連携させたりすることが可能です。これらがすべて無料で利用できるのでコスト面でも非常に魅力的なツールです。
Googleフォーム活用の利点(無料・簡単・データ管理がラク)
Googleフォームは、アンケートや申し込みフォームを簡単に作成できるツールです。アンケート回答やお問合せの際に一度は利用したことがあると思います。Googleフォームを利用する利点は以下の通りです。
無料で利用可能: 高価なフォーム作成ツールを導入する必要がなく、Googleアカウントがあれば誰でも利用できます。
直感的な操作性: ドラッグ&ドロップで簡単にフォームを作成でき、技術的な知識は必要ありません。
自動データ収集: 回答データは自動的にスプレッドシートに集計され、データ管理の手間が大幅に削減されます。
カスタマイズ性: 質問の種類(選択式、記述式など)や見た目のデザインを自由にカスタマイズできます。
モバイル対応: スマートフォンからでも問題なく回答できるレスポンシブデザインになっています。
キッチンカーの予約受付や、ワークショップの参加申し込みなど、さまざまな場面で活用できるため、幅広いビジネスシーンで役立ちます。
GAS × Googleフォームでできること(自動返信・データ整理・通知など)
GASとGoogleフォームを組み合わせることで、さらに強力な自動化が実現できます。
自動返信メール送信: フォーム送信者に対して、自動的に確認メールや詳細情報を送信できます。例えば、イベント参加申し込み後の詳細案内や予約確認などに活用できます。
条件分岐処理: 回答内容に応じて異なる処理を行うことができます。例えば、選んだ商品によって在庫確認や担当者への通知を変えるなどの対応が可能です。
データの自動整理: 収集したデータを自動的に分類・整理し、必要な情報だけを抽出することができます。
外部サービスとの連携: SlackやLINEなどの外部サービスと連携させ、フォーム送信時に通知を送ることも可能です。
定期実行: 特定の時間にスクリプトを実行し、リマインドメールの送信やデータの更新などを自動化できます。
これらの機能を駆使することで、小規模事業者でも大企業のような自動化システムを構築することができるのです。
GASとGoogleフォームを活用した業務自動化アイデア
実際にGASとGoogleフォームをどのように活用できるか、具体的なアイデアを紹介します。
活用例1)アンケートの集計を自動化(回答をスプレッドシートに整理)
アンケートの回答数が多くなると集計や分析には時間がかかります。GASを使えば、これを自動化できます。
具体的な活用例:
- 飲食店やキッチンカーでの顧客満足度調査
- 商品購入後のフィードバック収集
- イベント後の参加者アンケート
活用例2)予約・申し込みフォームの作成と自動返信メールの送信
予約や申し込みの受付と管理は、特に手間のかかる業務の一つです。GASとGoogleフォームを使えば、この過程を大幅に効率化できます。例えば、キッチンカーの予約システムでは、日時と場所を選択するフォームを作成し、送信と同時に予約確認メールを自動送信。同時に店主のGoogleカレンダーにも予定を自動登録することができます。
具体的な活用例:
- キッチンカーの出店予約システム
- ワークショップやセミナーの申し込み受付
- 店舗での商品予約や来店予約
活用例3)イベント参加者の管理とリマインドメールの自動送信
イベント運営では、参加者の管理やリマインド連絡が欠かせません。GASを使えば、これらの作業を自動化できます。例えば、スポーツサークルでは参加者がフォームに回答すると、自動的に参加者リストが更新され、定員に達した場合は自動的に「キャンセル待ち」として登録。また、イベント前日には自動的にリマインドメールを送信することで、当日の無断キャンセルを減らすことができます。
具体的な活用例:
- 地域のスポーツサークルの練習会案内
- 小規模セミナーや勉強会の運営
- 展示会やフェスティバルの参加者管理
活用例4)商品注文フォームの作成と在庫管理の自動化
小規模なオンラインショップやキッチンカーなどでの商品注文と在庫管理もGASで効率化できます。例えば、キッチンカーの事前注文システムでは、メニューと数量を選択するフォームを作成。注文が入ると在庫から自動的に数量を減らし、特定のメニューが売り切れそうになったら店主にアラートを送信。これにより、材料の過不足を防ぎ、効率的な運営が可能になります。
具体的な活用例:
- 個人商店でのオンライン注文システム
- キッチンカーの事前注文受付
- ハンドメイド作家の受注管理
実際にGASでGoogleフォームを自動化してみよう
具体的なGASの使い方を見ていきましょう。初めてでも理解しやすいよう、基本から段階的に解説します。実際のコードサンプルも用意しましたので、ぜひ参考にしてください。
初めてのGASスクリプト(Googleフォームの回答をスプレッドシートに記録)
まずは最も基本的な、Googleフォームの回答をスプレッドシートに記録する方法からご紹介します。実はGoogleフォームの機能これは自動で行われます。
Googleフォームとスプレッドシートの連携はGASの基本です。フォームの回答データをスプレッドシートで整理することで、データ分析が容易になります。
以下の手順で実際に設定します。
- Googleフォームを作成(例:問い合わせフォームや予約フォーム)
- フォーム編集画面の「回答」タブをクリック
- 右上の「・・・」マークをクリック→「スプレッドシートで回答を表示」を選択
- 「新しいスプレッドシートを作成」または既存のものを選択
これだけで、フォームに回答があるたびに自動的にスプレッドシートにデータが記録されるようになります。
サンプルコード① 申し込み後に自動返信メールを送る
フォーム送信者に自動で返信メールを送るスクリプトの作成例を紹介します。
- フォームに連携したスプレッドシートを開く
- メニューから「拡張機能」→「Apps Script」をクリック
- 以下のコードを貼り付け、必要に応じて編集

function sendAutoReply(e) {
// フォーム送信イベントからデータを取得
var response = e.response;
var itemResponses = response.getItemResponses();
// メールアドレスを取得(フォームの最初の項目がメールアドレスと仮定)
var email = itemResponses[0].getResponse();
// 名前を取得(フォームの2番目の項目が名前と仮定)
var name = itemResponses[1].getResponse();
// 申し込み内容を取得(フォームの3番目の項目が申し込み内容と仮定)
var content = itemResponses[2].getResponse();
// メール件名
var subject = "【〇〇〇】お申し込みありがとうございます";
// メール本文
var body = name + " 様\n\n"
+ "この度は〇〇〇にお申し込みいただき、誠にありがとうございます。\n\n"
+ "以下の内容で承りました。\n"
+ "=============================\n"
+ "■お申し込み内容: " + content + "\n"
+ "=============================\n\n"
+ "後日、担当者より詳細のご案内をさせていただきます。\n\n"
+ "何かご不明な点がございましたら、お気軽にお問い合わせください。\n\n"
+ "━━━━━━━━━━━━━━━━━━━━\n"
+ "〇〇〇(会社名/店舗名)\n"
+ "TEL: 000-0000-0000\n"
+ "Email: xxxx@example.com\n"
+ "━━━━━━━━━━━━━━━━━━━━";
// メール送信
GmailApp.sendEmail(email, subject, body);
}
- スクリプトエディタのメニューから「編集」→「現在のプロジェクトのトリガー」をクリック
- 「トリガーを追加」をクリック
- 以下のように設定:
- 実行する関数:sendAutoReply
- イベントのソース:スプレッドシートから
- イベントの種類:フォーム送信時
- 「保存」をクリック
これで、フォームが送信されるたびに、回答者に自動で確認メールが送信されるようになります。
サンプルコード② フォーム回答に応じて担当者に通知を送る
フォームの回答内容に応じて、担当者に自動通知するスクリプトを作成します。これにより、問い合わせへの対応スピードが格段に向上します。
以下のコードで実装してみましょう。
function notifyDepartment(e) {
// フォーム送信イベントからデータを取得
var response = e.response;
var itemResponses = response.getItemResponses();
// お問い合わせ種類を取得(フォームの該当項目のインデックスを指定)
var inquiryType = itemResponses[3].getResponse(); // 例:4番目の項目が「お問い合わせ種類」
// 問い合わせ内容を取得
var inquiryContent = itemResponses[4].getResponse(); // 例:5番目の項目が「お問い合わせ内容」
// 顧客情報を取得
var name = itemResponses[1].getResponse(); // 名前
var email = itemResponses[0].getResponse(); // メールアドレス
// 担当者のメールアドレスを設定(問い合わせ種類によって振り分け)
var staffEmail = "";
var department = "";
if(inquiryType.indexOf("商品について") !== -1) {
staffEmail = "product@example.com";
department = "商品部門";
} else if(inquiryType.indexOf("予約について") !== -1) {
staffEmail = "reservation@example.com";
department = "予約管理部門";
} else if(inquiryType.indexOf("イベントについて") !== -1) {
staffEmail = "event@example.com";
department = "イベント運営部門";
} else {
staffEmail = "info@example.com";
department = "総合案内";
}
// 通知メールの件名
var subject = "【新規問い合わせ】" + inquiryType;
// 通知メールの本文
var body = department + " 担当者様\n\n"
+ "以下の新規問い合わせがありました。対応をお願いします。\n\n"
+ "■問い合わせ種類: " + inquiryType + "\n"
+ "■問い合わせ内容:\n" + inquiryContent + "\n\n"
+ "■お客様情報\n"
+ "お名前: " + name + "\n"
+ "メールアドレス: " + email + "\n\n"
+ "※このメールはGoogleフォームからの自動通知です。";
// 担当者へメール送信
GmailApp.sendEmail(staffEmail, subject, body);
}
設定方法は前項と同様、トリガーを「フォーム送信時」に設定します。
スクリプトの実行方法とエラー対策
GASを利用する際のよくあるエラーとその対策方法を紹介します。自動化システムが止まってしまうと、業務に支障をきたす可能性があるため、エラー対策はスクリプト運用の重要なポイントです。
以下の対策を実施しましょう。
- 権限設定の確認
- 初めてスクリプトを実行する際には、権限の承認が必要です
- 「承認が必要です」というメッセージが表示されたら「承認」をクリック
- 「詳細」→「(安全ではないページ)に移動」→「許可」の順にクリック
- エラーログの確認方法
- スクリプトエディタの「実行」→「ログを表示」でエラー内容を確認できます
- トリガーの実行履歴は「編集」→「現在のプロジェクトのトリガー」→「実行履歴」から確認可能
- よくあるエラーと対策
TypeError: Cannot read property 'getResponse' of undefined
→ フォームの項目順序が想定と異なる場合に発生。itemResponses配列のインデックスを確認You do not have permission to access the requested service
→ 権限が不足している。再度承認手続きを行うQuota exceeded for Gmail
→ 1日のメール送信上限(100件)を超えた場合に発生。送信数を調整するか分散させる
- エラー通知の設定
function sendErrorNotification(error) {
var adminEmail = "your-email@example.com";
GmailApp.sendEmail(adminEmail, "GASスクリプトエラー通知",
"スクリプト実行中にエラーが発生しました。\n\nエラー内容: " + error.toString());
}
// 各関数のtry-catch文で囲む
function yourMainFunction() {
try {
// メイン処理
} catch(error) {
sendErrorNotification(error);
}
}
上記は、エラー処理の一例です。メイン処理でエラーが発生すると、「adminEmail 」に設定したメールアドレス宛にエラー通知メールが送信されます。
GASとGoogleフォームを活用して業務を効率化しよう!
ここまで紹介した自動化手法を実際のビジネスにどう活かすか、さらに学習を進めるためのリソースについて紹介します。
ビジネス・イベント運営に役立つGAS活用法
GASは無料で使え、少ないコストで大幅な業務効率化が実現できるツールです。これまで紹介した例の他に以下のような活用法があります(ほんの一例です)。

- キッチンカー事業者の例
- 出店スケジュール管理:予約フォームから自動でGoogleカレンダーに予定を追加
- 事前注文システム:注文フォームと連携して在庫管理を自動化
- 常連客管理:一定回数以上の利用があった顧客に自動で特典クーポンをメール送信
- ワークショップ主催者の例
- 参加者管理:申込フォームからの情報を自動で整理し、定員に達したら自動で締切
- 資料準備:参加者数と希望内容に基づいて、必要資料リストを自動作成
- フォローアップ:イベント後のアンケートフォームと連携し、次回開催の案内を自動送信
- スポーツサークルの例
- 練習参加者管理:参加/不参加フォームと連携して自動で出欠表を作成
- 会費管理:支払い状況をスプレッドシートで管理し、未払いメンバーに自動リマインド
- 大会エントリー:参加希望者の情報を自動集計し、チーム分けを効率化
まずは一番負担に感じている業務から自動化してみてください。
GASの学習を進めるためのおすすめリソース
GASの学習をさらに進めるためのリソースを紹介します。
- 公式ドキュメント
- Google Apps Script公式リファレンス
- 各APIの詳細な使い方が記載されています
- チュートリアルサイト
- Apps Script Codelab
- ステップバイステップで学べる実践的なチュートリアル
- 日本語の解説書籍
- 「Google Apps Script完全入門」
- 「現場で使えるGoogle Apps Script」
- コミュニティ
- Stack Overflow – Google Apps Script
- エラーや疑問点を質問できる開発者コミュニティ
- サンプルコード集
- GitHub – Google Apps Script samples
- 様々なユースケースのサンプルコードが公開されています
GASとGoogleフォームを活用して業務の手間を減らそう
自動返信メールの送信や、回答の整理、担当者への通知など、これまで手作業で行っていた業務を自動化できるので、時間の節約 につながります。
特に、個人でビジネスを運営している方や、小規模なチームで業務を回している方にとっては、少ないリソースで最大限の成果を出すための強力なツール となるでしょう。
まずは、小さな自動化から始めてみませんか?たとえば、フォームの回答をスプレッドシートに整理する、申し込み完了メールを自動送信する、といった簡単な仕組みを導入するだけでも、日々の業務がぐっと楽になります。
GASとGoogleフォームを上手に活用し、業務の手間を減らしながら、より重要な業務に集中できる環境を作っていきましょう!