Googleフォームの回答CSVは、簡単にダウンロードできます。
ただし、CSVを出せたことと、そのCSVを運用で使えることは別です。
Excelで開いたら文字化けする。電話番号の先頭0が消える。誰かが加工したファイルが最新版になる。対応状況の列を足したら、翌週のCSVに引き継がれない。営業メールを消した結果、何件除外したのか分からなくなる。
こうなると、問題は「CSVの出し方」ではなく「CSVをどう扱うか」です。
この記事では、Googleフォームの回答CSVを、あとで壊れない運用データにするためのチェックリストをまとめます。
先に結論
CSVは「その時点のスナップショット」です。
運用データとして扱うなら、最低限これを決めます。
[ ] 元CSVを上書きしない
[ ] ファイル名に取得日時を入れる
[ ] UTF-8として開く手順を決める
[ ] 回答列と運用列を分ける
[ ] 電話番号、郵便番号、IDを文字列として扱う
[ ] 除外した行を削除せず、除外理由を残す
[ ] 対応状況や担当者をCSVだけに閉じ込めない
[ ] 定期的に落とすならSheets連携や回答管理へ移す
この8つを決めないままCSVを回すと、最初は早くても、あとでデータの意味が崩れます。
チェック1: 元CSVを上書きしない
まず、Googleフォームから落としたCSVは原本として残します。
original/
google-form-responses-2026-06-16-0900.csv
working/
google-form-responses-2026-06-16-0900.xlsx
share/
weekly-report-2026-06-16.xlsx
文字化けした状態で保存し直したり、Excelで列型が変わった状態を元ファイルにしてしまうと、あとから戻れません。
CSVは軽いので、原本を残すコストはほぼありません。
原本、作業用、共有用を分けるだけで、復旧しやすくなります。
チェック2: ファイル名に取得日時を入れる
responses.csv や 最新版.csv は避けたほうがいいです。
GoogleフォームのCSVは、ダウンロードした瞬間のスナップショットです。あとから回答が増えても、手元のCSVは更新されません。
だから、ファイル名に取得日時を入れます。
google-form-responses-2026-06-16-0900.csv
google-form-responses-2026-06-16-1800.csv
google-form-responses-2026-06-17-0900.csv
日時が入っていれば、Slackやメールで共有されたあとでも「どの時点の回答か」が分かります。
「最新版」は人によって変わります。日時は変わりません。
チェック3: Excelで直接開く前提にしない
日本語の回答が入るCSVでは、文字化けや列型変換が起きることがあります。
GoogleフォームのCSVが壊れているというより、Excel側の読み込み方で崩れることが多いです。
実務では、この順番が安全です。
1. 元CSVを残す
2. Google Sheetsで正常に読めるか確認する
3. Excelではダブルクリックではなく「データ > テキスト/CSV」から取り込む
4. 文字コードをUTF-8として確認する
5. 電話番号、郵便番号、ID列を文字列として扱う
文字化けだけでなく、列型の自動変換にも注意します。
たとえば、電話番号の 090...、郵便番号の先頭0、長い会員ID、予約番号などは、Excelが数値として扱うと壊れることがあります。
CSV文字化けそのものの直し方は、別記事の GoogleフォームのCSVがExcelで文字化けするときの直し方 に分けています。
チェック4: 回答列と運用列を混ぜない
CSVをExcelで開くと、列を足したくなります。
対応状況
担当者
除外理由
最終更新日
次アクション
これは自然です。
ただし、元回答の列と、チームが後から判断した列は分けたほうがいいです。
| 種類 | 例 | 扱い |
|---|---|---|
| 回答列 | Timestamp、氏名、メール、問い合わせ内容 | 回答者が送った内容。原則そのまま残す |
| 運用列 | 対応状況、担当者、最終更新日 | チームの判断。更新履歴が必要 |
| 集計列 | 集計対象、除外理由、分類補正 | レポート用の判断。理由を残す |
CSVで共有するときも、この違いは明示します。
raw-responses.csv # 元回答だけ
operations-working.xlsx # 担当者や対応状況を含む作業用
report-input.csv # 集計に使う列だけ
同じ「回答データ」でも、目的が違うファイルを混ぜると壊れます。
チェック5: 行を消さずに、除外理由を残す
営業メール、テスト送信、重複回答、対象外の問い合わせ。
こういう行は、CSVから消したくなります。
でも、集計で説明が必要になるなら、削除よりも除外フラグのほうが安全です。
is_excluded
exclude_reason
例:
| 氏名 | 問い合わせ種別 | is_excluded | exclude_reason |
|---|---|---|---|
| Aさん | 資料請求 | false | |
| B社 | 営業メール | true | 営業提案 |
| test | テスト | true | 社内テスト |
行を消すと、「なぜ件数が減ったのか」が分かりません。
除外理由を残せば、あとで数字を説明できます。
チェック6: Timestampを業務IDにしない
Googleフォームの回答には送信日時が入ります。
これをIDのように使いたくなることがありますが、業務上の参照IDとしては弱いです。
理由は次の通りです。
同じ時刻に近い回答が入る
表示形式が変わる
Excelで日付型に変換される
並び替えで位置が変わる
Slack通知やメモで探しにくい
できれば、運用側で参照しやすいIDを持ちます。
response_id
row_number
submitted_at
CSVだけで完結させる場合でも、共有メモやSlack通知には「何行目」「いつ取得したCSV」「どのメールアドレス」など、戻れる情報を入れます。
チェック7: 対応状況をCSVだけに閉じ込めない
CSVに 対応中 や 完了 を書き足すのは簡単です。
でも、CSVは次回ダウンロードしたときに新しいファイルになります。
今週のCSVに書いた担当者や対応状況は、来週のCSVには自動で引き継がれません。
次のような運用なら、CSVだけでは厳しくなります。
複数人で対応する
未対応だけを毎朝拾う
営業メールを継続的に除外する
担当者ごとの処理件数を見る
問い合わせの進捗を週次で報告する
この段階では、CSVはバックアップや外部渡しに戻して、対応状況は継続的に見られる場所へ移したほうが安定します。
Google Sheetsに運用列を持たせるか、回答管理ツールを使うかを検討します。
CSVとSheetsの役割分担は、GoogleフォームのCSV出力とスプレッドシート連携は別物です に分けています。
チェック8: 定期CSVは限界サインとして見る
月1回バックアップで落とすCSVなら問題ありません。
一度だけ参加者リストを渡すCSVも自然です。
ただ、毎週同じCSVを落として、毎回同じ加工をしているなら、それは出力作業ではなく運用作業です。
CSVを落とす
Excelで開く
営業メールを消す
担当者列を足す
未対応だけ拾う
週次報告用に数える
共有する
この流れが定例化しているなら、CSVの使い方を見直すタイミングです。
毎週CSVを落とす運用そのものの見直しは、Googleフォームの回答を毎週CSVで落としているなら、運用が詰まり始めています に書きました。
CSVで十分な場面
もちろん、CSVが悪いわけではありません。
CSVで十分な場面はあります。
単発イベントの参加者一覧を渡す
バックアップを残す
外部分析ツールへ取り込む
回答数が少ない
担当者が1人
対応状況を継続管理しない
この場合は、無理に仕組みを増やさなくていいです。
大事なのは、CSVをファイルとして扱うのか、運用画面として扱うのかを混ぜないことです。
まとめ
Googleフォームの回答CSVは便利です。
ただし、CSVは出力形式であって、業務フローそのものではありません。
後工程で壊さないためには、次を先に決めます。
原本を残す
取得日時を残す
UTF-8として扱う
列型を守る
回答列と運用列を分ける
除外理由を残す
IDを持つ
対応状況をCSVだけに閉じ込めない
CSVを一度だけ使うなら軽く済ませる。
毎週使うなら、Sheets連携や回答管理に移す。
この境界を先に決めるだけで、Googleフォームの回答データはかなり壊れにくくなります。
Googleフォームの回答CSVの公式手順、文字化け対策、Sheets連携との使い分けは、FORMLOVA側の正本記事にまとめています。