この業務で解決したいこと
地域と問い合わせ内容で担当を分けるような仕事は、一回ごとの作業時間が短くても、担当者が変わったり忙しくなったりすると後回しになりがちです。課題は「作業を速くすること」だけではありません。いつ、誰が、どの条件で処理したかを追えるようにし、例外が出たときに人が戻れる状態を作ることが重要です。GASはGoogle Workspaceの中で、フォーム、スプレッドシート、Gmail、Drive、Calendarなどをつなげます。
最初から完全自動にせず、まずは記録や通知のように、実行結果を人が確認できる場所から始めます。業務の判断を見えないコードへ閉じ込めず、シートの列名、承認者、通知先、停止方法をチームで読める形に残してください。
自動化の全体像
この4段階のうち、最初に決めるべきは「どこで人が確認するか」です。送信、権限変更、金額確定、外部公開など取り返しのつきにくい処理は、GASが決めるのではなく、確認用の一覧や下書きを作る段階で止めます。
実装前にそろえるもの
- 入力元のシート、フォーム、フォルダ、メールの所有者
- 実行を許可するGoogleアカウントと、管理者の連絡先
- 正常処理と例外処理を分けるためのステータス列
- テスト用データ、テスト通知先、本番へ戻す手順
- 実行履歴を残す列と、失敗時に知らせる通知先
特に共有シートでは、列順や選択肢を無断で変えるとスクリプトが想定どおり動かないことがあります。列を追加する場合は、見出しを基準に取得する設計にし、変更を記録します。個人のアカウントだけで所有すると、異動や退職で止まるため、業務用の所有者と引き継ぎ手順を決めます。
手順:小さなテストから始める
1. 入力と出力を一つずつ決める
最初の試作では、入力を一つ、出力を一つに絞ります。たとえばフォーム回答をスプレッドシートに残し、担当者へメールを送るだけです。条件分岐や複数の通知先は、基本の流れが確認できてから足します。
2. 判断を表で見えるようにする
担当分けや優先度は、コードに直接書くより、管理用シートの対応表で管理すると変更を説明しやすくなります。誰がその表を更新できるか、空欄の場合は誰へ送るかも先に決めます。曖昧な入力は無理に振り分けず、共通窓口へ渡して人が判断するほうが安全です。
3. 送信済みと失敗を区別する
通知を送ったら、処理日時、処理ID、担当者、結果を記録します。この記録がないと、再実行したときに同じ連絡を二度送る危険があります。失敗時はエラー本文をそのまま転送するのではなく、対象行、発生日時、次に確認する場所を通知してください。
最小コードは「処理の入口」を理解するために使う
GASでは、関数を手動で実行するところから始め、問題がなければ時間主導トリガーやフォーム送信トリガーへ進みます。コードをコピーするだけではなく、どのスプレッドシートを読むか、どの列を更新するか、誰に送るかを自分の業務に合わせて確認します。
function runWorkflow() {
// 1. 入力を読む 2. 条件を確認する 3. 記録・通知する
// 重要な処理は、まず下書きや確認用シートへ出力する
}
この段階では秘密情報をコードへ書き込まないでください。外部サービスのキーや個人情報を扱う場合は、権限、保管場所、閲覧者を別途設計します。Google公式の認可画面では、スクリプトが要求する権限を読んでから許可します。
よくある失敗と回避方法
| 起きること | 原因 | 先に入れる対策 |
|---|---|---|
| 通知が二重に届く | 再実行時の判定がない | 処理IDと送信済み列を残す |
| 担当者へ届かない | 入力が想定外 | 未分類は共通窓口へ送る |
| 突然止まる | 権限・所有者・列名の変更 | 所有者と変更手順を記録する |
| 失敗に気づけない | 実行履歴がない | 結果と例外を別の列に記録する |
GASは便利ですが、実行回数や処理時間などの制約もあります。大量のデータを一度に処理するより、対象を絞り、途中で止まっても続きから確認できる単位に分けます。
GASと他の方法の使い分け
Googleフォームの通知や簡単な承認は、まずGoogle標準機能で足りるかを確かめます。Google Workspace内で完結し、独自の条件や定期処理が必要ならGASが候補です。Google以外のSaaSを複数つなぐなら、Make、Zapier、n8nのような連携ツールのほうが管理しやすい場合があります。比較の基準は、機能の多さではなく、管理できる人、障害時の対応、監査したい範囲です。
まとめ
GASでGoogleフォーム回答を担当者へ振り分ける方法では、処理そのものよりも、入力・判断・通知・人の確認を分けることが運用の土台になります。まずはテスト用データで一つの流れを動かし、記録、停止、例外通知を確認してから本番へ広げてください。
