最終更新日: 2026-08-13
Googleフォームの「回答をダウンロード」で取り出せるのは回答データです。質問文や質問形式を一覧にしたい場合は、別の方法が必要です。
質問が少なければ、編集画面を見ながらスプレッドシートへ転記するのが最も確実です。質問が多い、複数フォームを棚卸ししたい、移行前に差分を比較したい場合は、Google Apps Scriptで質問項目を読み出します。
この記事では、次の4列を中心に持ち出す方法を説明します。
質問文
質問形式
必須かどうか
選択肢
回答者が送った内容をCSVで出したい場合は、Googleフォームの回答CSV出力と文字化け対策を参照してください。本記事が扱うのは回答ではなく、フォームを構成する質問側です。
先に結論 -- 公式画面に質問一覧のCSV出力はない
Googleフォームの標準画面には、質問構造をそのままCSVへ書き出すボタンはありません。実務では、次の3方式から選びます。
| 方法 | 向いている場面 | 取り出せる内容 | 注意点 |
|---|---|---|---|
| 手動で一覧化 | 10〜20問程度、単発の棚卸し | 見えている内容を必要な粒度で記録 | 転記漏れが起きる |
| フォームを複製 | 同じGoogleフォーム内で再利用 | フォーム全体のコピー | 一覧表や他サービスへの移行にはならない |
| Apps Scriptで取得 | 質問数・フォーム数が多い | ラベル、型、必須、選択肢など | 質問型ごとの処理と移行後の検証が必要 |
フォームを一つ増やしたいだけなら、Googleフォームの「コピーを作成」で十分です。一方、質問台帳を作る、別サービスへ移す、複数フォームの表記揺れを探す場合は、一覧化する価値があります。

回答CSVと質問エクスポートは別物
混同しやすいので、先に境界を整理します。
| 持ち出したいもの | 例 | 方法 |
|---|---|---|
| 回答データ | 送信日時、氏名、メール、選ばれた回答 | 回答タブからCSVをダウンロード |
| 質問構造 | 氏名というラベル、記述式、必須、選択肢 | 手動転記またはApps Script |
| 見た目 | 色、画像、余白、テーマ | 構造一覧とは別に確認 |
| 動作 | 条件分岐、回答検証、クイズ採点、通知 | 項目一覧とは別に検証 |
質問文だけをコピーしても、元フォームと同じ動作になるとは限りません。移行に必要なのは、少なくとも「質問文、形式、必須、選択肢」です。条件分岐や入力検証を使っている場合は、別の検証表も作ります。
方法1 -- 質問が少なければ手動で一覧化する
質問が少ないフォームでは、スクリプトを用意するより手動のほうが早く、目視確認も同時にできます。
スプレッドシートに次の列を作ります。
| No. | 質問文 | 質問形式 | 必須 | 選択肢 | 説明 | 要確認 |
|---|---|---|---|---|---|---|
| 1 | お名前 | 記述式 | 必須 | - | 姓名を入力 | 個人情報 |
| 2 | ご相談種別 | ラジオボタン | 必須 | 料金、導入、その他 | 1つ選択 | 分岐あり |
| 3 | ご相談内容 | 段落 | 任意 | - | 500字以内 | 入力検証 |
手順は次の通りです。
1. Googleフォームを編集画面で開く
2. 上から順に質問文と形式を表へ写す
3. 「必須」のON/OFFを記録する
4. ラジオボタン、チェックボックス、プルダウンの選択肢を記録する
5. セクション、説明文、分岐、入力検証を「要確認」列へ残す
6. プレビューで元フォームと表を突き合わせる
質問文のコピーだけで終わらせず、必須と選択肢まで同じ行に記録するのがポイントです。移行先を作り始めてから確認すると、元フォームと新フォームを何度も往復することになります。
方法2 -- Apps Scriptで質問構造を取得する
Google公式のApps Script Forms Serviceでは、フォームを開き、各Itemのタイトル、型、説明、必須設定などを取得できます。選択式の質問では、質問型へ変換して選択肢を取得します。
以下は、質問構造をログへ出す最小例です。自分が編集権限を持つフォームで実行してください。
function exportQuestionStructure() {
const formId = 'ここにフォームIDを入れる';
const form = FormApp.openById(formId);
const rows = form.getItems().map((item, index) => {
const type = item.getType();
let required = '';
let choices = [];
if (type === FormApp.ItemType.MULTIPLE_CHOICE) {
const question = item.asMultipleChoiceItem();
required = question.isRequired();
choices = question.getChoices().map((choice) => choice.getValue());
} else if (type === FormApp.ItemType.CHECKBOX) {
const question = item.asCheckboxItem();
required = question.isRequired();
choices = question.getChoices().map((choice) => choice.getValue());
} else if (type === FormApp.ItemType.LIST) {
const question = item.asListItem();
required = question.isRequired();
choices = question.getChoices().map((choice) => choice.getValue());
} else if (type === FormApp.ItemType.TEXT) {
required = item.asTextItem().isRequired();
} else if (type === FormApp.ItemType.PARAGRAPH_TEXT) {
required = item.asParagraphTextItem().isRequired();
}
return {
no: index + 1,
title: item.getTitle(),
type: String(type),
required,
choices: choices.join(' | '),
helpText: item.getHelpText(),
};
});
console.log(JSON.stringify(rows, null, 2));
}
この例は入口です。日付、時刻、均等目盛、グリッド、ファイルアップロードなども使っている場合は、質問型ごとの分岐を追加します。Google公式のApps Script Forms ServiceとItemインターフェースで、利用している質問型のメソッドを確認してください。
Apps Scriptの実行手順
1. script.google.comで新しいプロジェクトを作る
2. サンプルコードを貼り付ける
3. GoogleフォームURLの /d/ と /edit の間にあるフォームIDを設定する
4. exportQuestionStructureを実行する
5. 初回だけ権限確認を行う
6. 実行ログのJSONをコピーする
7. スプレッドシートへ貼り、元フォームと照合する
業務アカウントでは、組織のGoogle Workspace管理者がApps Scriptの利用を制限していることがあります。権限確認で止まった場合は、無理に回避せず管理者へ確認してください。
ログではなくシートへ直接書くこともできます。ただし、最初から複雑な出力処理を作るより、数件をJSONで出し、必要な列が揃うことを確認してからシート出力を足すほうが安全です。
取り出した後に確認する7項目
構造を出力できても、移行は完了していません。次を元フォームと突き合わせます。
[ ] 質問順が同じか
[ ] 必須・任意が同じか
[ ] 選択肢の順番と「その他」が同じか
[ ] セクション区切りが残っているか
[ ] 条件分岐の行き先が同じか
[ ] 入力検証とエラー文が同じか
[ ] ファイル、画像、動画、クイズ設定が必要か
特に条件分岐は、選択肢の文字列だけを取り出しても完全には表現できません。Google公式のForms Serviceにはページ移動を取得するメソッドがありますが、質問型、セクション、移行先サービスの仕様を対応づける必要があります。
したがって、本記事の一覧を「Googleフォームを完全に復元できるバックアップ」とは考えないでください。これは質問構造の棚卸しです。
FORMLOVAでは公開フォームURLからvisible項目を下書きにできる
FORMLOVAでは、公開されているフォームURLをチャットへ渡し、見えている質問項目を抽出できます。
この公開フォームにある質問項目を一覧にしてください
内容を確認した後は、未公開の下書きとして作成できます。
このURLのフォームと同じ項目で、未公開の下書きを作ってください
抽出対象は、公開ページから確認できる項目、必須設定、選択肢です。Google Forms専用の完全移行機能ではありません。ログインが必要なフォーム、最初の回答によって後から表示される項目、複雑な条件分岐、回答検証、クイズ採点、アドオン、通知設定、テーマを完全再現するとは約束していません。
この境界があるため、実務では次の順で進めます。
1. 公開URLからvisible項目を抽出する
2. 質問文・型・必須・選択肢を確認する
3. 未公開下書きを作る
4. 条件分岐や入力検証を個別に設定する
5. 実際のプレビューで回答テストする
6. 問題がなければ公開する
FORMLOVAの対応項目と設計例は、フォーム項目の具体例と選び方で確認できます。Googleフォーム自体の作成、共有、回答確認を見直したい場合は、Googleフォームの使い方完全ガイドへ戻ってください。
スプレッドシート連携やApps Scriptを含む運用全体は、Googleフォーム運用の限界と設計にまとめています。項目抽出から未公開下書きまで試す場合は、FORMLOVAに無料登録してテスト用フォームから始めてください。
質問一覧を作るときの設計判断
一覧化は、単なるバックアップ以上に役立ちます。同じ意味の質問が複数フォームで違う表記になっていないか、不要な必須項目がないか、個人情報を集めすぎていないかを見直せます。
| 見直す点 | 悪い状態 | 改善例 |
|---|---|---|
| ラベル | 「内容」「詳細」が混在 | 「お問い合わせ内容」に統一 |
| 必須 | 電話番号も住所も一律必須 | 初回対応に必要な項目だけ必須 |
| 選択肢 | 部署名や商品名が古い | 現在の受付ルートに合わせる |
| 自由記述 | 目的のない長文欄が多い | 何を書いてほしいか説明を付ける |
| 分岐 | 移行先で再現確認がない | パターン別にテスト回答する |
公開後の通知や対応まで含めて見直す場合は、FORMLOVAでフォーム自動化を始める方法に進んでください。
FAQ
Googleフォームの質問だけをCSVでダウンロードできますか?
Googleフォームの標準画面には、質問構造だけをCSVへ出す機能はありません。質問が少なければ手動転記、質問数やフォーム数が多ければApps Scriptでラベル、型、必須、選択肢を取得する方法が現実的です。
回答CSVから質問項目を復元できますか?
列名として質問文は残りますが、質問形式、必須設定、選択肢の全候補、説明文、条件分岐などは復元できません。回答データの出力と質問構造の出力は分けてください。
Apps Scriptで条件分岐も取得できますか?
一部のページ移動情報へアクセスできますが、すべての質問型と分岐を汎用的に完全再現するには追加処理が必要です。移行先の仕様も異なるため、取得できたことと再現できたことを分け、分岐パターンごとにテストしてください。
フォームをコピーするだけではだめですか?
同じGoogleフォームとして複製するだけなら、コピーが最短です。一覧化が必要なのは、複数フォームを比較する、社内レビューする、別サービスへ移行する、質問設計を標準化する場合です。
FORMLOVAならGoogleフォームを完全に移行できますか?
完全移行とは断言していません。公開ページから見える質問、必須、選択肢を抽出して未公開下書きを作れますが、ログイン後の内容、複雑な分岐、検証、クイズ、アドオン、通知、デザインは個別確認が必要です。
次に読む記事
質問構造を手作業で移す前に、公開フォームURLから見える項目を下書きへ移せるか試せます。FORMLOVAのセットアップガイドから接続してください。
執筆・確認情報
この記事は、2026-08-13時点のGoogle公式開発者資料とFORMLOVAの実装を確認して執筆しました。筆者はFORMLOVAの開発者です。FORMLOVAについては、公開フォームURLからのvisible項目抽出、未公開下書き作成、質問項目・必須・選択肢の取得境界を仕様と実装で確認しています。
Googleフォームの仕様は更新される可能性があります。Apps Scriptを本番の移行に使う前に、対象フォームのコピーで出力内容を確認してください。
参照した主な一次情報:


