0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Googleフォームの回答に「担当者」と「対応状況」を持たせる設計

0
Last updated at Posted at 2026-05-19

086-qiita-google-forms-response-status-owner.png

oogleフォームの回答をGoogle Sheetsに連携すると、最初の運用はかなり楽です。

回答が1行ずつ追加されます。フィルタできます。CSVにもできます。必要ならApps Scriptで通知もできます。

ただ、チームで使い始めると、次の問題が出てきます。

誰がこの回答を見るのか
もう返信したのか
いま対応中なのか
営業メールやテスト回答を集計から外したのか

これはフォーム作成の問題ではなく、回答後の運用の問題です。

この記事では、Googleフォームの回答先スプレッドシートに、担当者対応状況 を持たせる最小設計をまとめます。

先に結論

最低限、回答シートに次の列を追加します。

対応状況
担当者
最終更新日
次アクション
除外理由

最初はこれで十分です。

目的
対応状況 未対応、対応中、完了、除外を分ける
担当者 誰が見るかを残す
最終更新日 いつ状態が動いたかを見る
次アクション 返信、確認、社内連携など次の動きを書く
除外理由 営業メール、テスト回答、対象外などを説明する

Slack通知やメール通知を入れても、この列は必要です。

通知は「気づくため」の仕組みです。対応状況は「仕事がどこまで進んだか」を残す仕組みです。

Googleフォームだけでできること

Googleフォームの公式ヘルプでは、フォームの回答をフォーム画面で確認したり、回答先のスプレッドシートで見たり、CSVでダウンロードしたりできます。新しい回答についてメール通知を受け取る設定もあります。

これだけでも、小さなアンケートや単発の申込なら足ります。

フォームを作る
回答が入る
Sheetsで見る
必要ならCSVで出す

ただ、ここには「誰が対応するか」「対応が完了したか」という業務状態はありません。

Googleフォームが悪いという話ではありません。

回答収集と対応管理は、別の仕事なんです。

対応状況は4つから始める

最初のステータスは、これくらいで十分です。

対応状況 意味
未対応 まだ誰も処理していない
対応中 誰かが確認や返信を始めている
完了 必要な対応が終わった
除外 営業メール、スパム、テスト回答、対象外

確認待ち保留 を最初から増やしすぎると、運用が重くなります。

まずは 未対応 / 対応中 / 完了 / 除外 で回して、足りなくなったら増やすほうが安全です。

大事なのは、自由入力にしないことです。

未対応
未処理
未返信
まだ
pending

こういう表記ゆれが出ると、フィルタも集計も崩れます。

Google Sheetsで運用するなら、データの入力規則でプルダウンにしておくのがおすすめです。

担当者と対応状況は別にする

よくある失敗は、担当者が決まっただけで、対応中になった気がしてしまうことです。

でも、これは別です。

担当者が入っている
対応中になっている
返信が終わっている
完了している

全部違います。

たとえば、担当者が 田中 になっていても、対応状況が 未対応 なら、まだ手が動いていないかもしれません。

逆に、対応状況が 対応中 なのに担当者が空欄なら、誰が責任を持つのか分かりません。

最低限、次のルールにします。

未対応: 担当者は空欄でもよい
対応中: 担当者を必須にする
完了: 最終更新日を入れる
除外: 除外理由を入れる

これだけで、週次確認がかなり楽になります。

Slack通知はステータスではない

Googleフォームの回答をSlackに通知する構成は実用的です。

Apps Scriptのインストール型トリガーを使うと、フォーム送信などのイベントで関数を自動実行できます。UrlFetchApp.fetch() を使えば、外部URLへHTTP/HTTPSリクエストを送れます。Slack Incoming Webhooksは、発行されたURLへJSONペイロードを送ってチャンネルに投稿する仕組みです。

つまり、こういう構成は作れます。

Googleフォーム
-> Google Sheets
-> Apps Script
-> Slack Incoming Webhook
-> Slackチャンネル

ただし、Slackに流れたことは「気づいたかもしれない」という合図であって、対応が進んだ証拠ではありません。

Slackリアクションで 見ました を付ける運用もあります。小さなチームなら十分なこともあります。

でも、後から一覧で見るなら、回答レコード側に状態を残したほうが安全です。

Slack: 気づく場所
Sheets: 状態を残す場所

この役割を分けます。

Apps Scriptで初期状態だけ入れる例

回答が入ったときに、初期ステータスだけ自動で入れるなら、次のような考え方です。

function onFormSubmit(e) {
  const sheet = e.range.getSheet();
  const row = e.range.getRow();
  const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];

  setCellByHeader(sheet, headers, row, "対応状況", "未対応");
  setCellByHeader(sheet, headers, row, "最終更新日", new Date());
}

function setCellByHeader(sheet, headers, row, headerName, value) {
  const index = headers.indexOf(headerName);
  if (index === -1) return;
  sheet.getRange(row, index + 1).setValue(value);
}

このコードは、回答行が追加されたときに 対応状況未対応 にし、最終更新日 を入れるだけです。

通知先を変える、担当者を自動判定する、営業メールを除外する、といった処理を足すこともできます。

ただし、最初から全部をGASに入れすぎないほうがいいです。

業務ルールがコードの中に隠れると、あとで引き継ぎづらくなります。

色だけで管理しない

Sheetsでよくあるのが、行の色だけで管理する方法です。

黄色: 対応中
緑: 完了
グレー: 除外

見た目では分かりやすいです。

でも、色だけだとフィルタや集計がしにくいです。コピーしたときに崩れることもあります。人によって色の意味を忘れることもあります。

色を使うなら、必ず 対応状況 列を正本にします。

対応状況 = 完了
行の色 = 緑

この順番です。

色は補助。値が正本です。

除外は削除しない

営業メール、スパム、テスト送信が来たときに、行を削除したくなることがあります。

でも、最初は削除せず 除外 にしたほうが説明しやすいです。

今週の回答: 20件
正当な問い合わせ: 14件
営業メール: 4件
テスト送信: 2件

このように分けられるからです。

行を消すと、なぜ件数が減ったのか分からなくなります。

集計から外したいなら、削除ではなく 除外除外理由 を使います。

FORMLOVAではどう考えているか

FORMLOVAでは、フォーム回答を単なる行としてではなく、公開後の運用イベントとして扱っています。

実際の検証では、次のような流れを確認しています。

回答一覧の名前を出して
参加人数が3名の名前を一覧で教えて
その方々が回答内容全てを教えてください
その2名を対応中のステータスにして

この流れで大事なのは、一覧、絞り込み、詳細確認、ステータス更新が分断されていないことです。

Slackに通知するだけではなく、回答そのものの状態を進めます。

Google Sheetsに出すだけではなく、今どの回答が新規で、どれが対応中なのかを見ます。

これは、Googleフォーム + Sheets + GASを否定する話ではありません。

むしろ、Sheetsで限界まで頑張るときにも同じ考え方が必要です。

回答レコードに状態を持たせる。

担当者と対応状況を分ける。

通知と進捗を分ける。

この3つを決めるだけで、対応漏れはかなり見えやすくなります。

チェックリスト

Googleフォームの回答をチームで見るなら、最低限ここを確認します。

[ ] 回答先Sheetsに「対応状況」列がある
[ ] 対応状況はプルダウンになっている
[ ] 最小ステータスは 未対応 / 対応中 / 完了 / 除外
[ ] 対応中にする時は担当者を入れる
[ ] 完了時は最終更新日を入れる
[ ] 除外時は除外理由を残す
[ ] Slack通知には記録場所と初期ステータスを入れる
[ ] Slackリアクションだけを正本にしない
[ ] 色だけで管理しない
[ ] 営業メールやテスト回答をすぐ削除しない

まとめ

GoogleフォームとGoogle Sheetsは、回答を集めて一覧にするには便利です。

でも、チームで使うなら、回答が届いた後の状態を別で設計する必要があります。

まずは、回答シートに 対応状況担当者 を持たせます。

次に、未対応 / 対応中 / 完了 / 除外 を固定します。

そのうえで、Slack通知やGASは補助として使います。

Slackに流れたことは、対応が完了した証拠ではありません。

回答レコードに状態が残って、はじめて後から追えます。

参考

あわせて読みたい

無料で始める | セットアップガイド

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?