ADVERTISEMENT

【Googleドキュメント】Googleフォーム回答を文書にまとめたい時の連携方法

【Googleドキュメント】Googleフォーム回答を文書にまとめたい時の連携方法
🛡️ 超解決

Googleフォームで収集したアンケートや申し込みデータを、報告書や議事録としてGoogleドキュメントにまとめたい場面は多くあります。しかし、一つ一つの回答を手動でコピー&ペーストするのは非効率で、転記ミスも起こりがちです。本記事では、フォーム回答をGoogleドキュメントに自動連携する代表的な方法を3つ紹介し、それぞれの手順と注意点を詳しく解説します。会社PCで作業する際に確認すべきポイントも含め、実務に役立つ情報を提供します。

【要点】この記事で確認すること

  • 最初に見る場所: フォームの回答タブで「スプレッドシートにリンク」を選択し、回答先をGoogleスプレッドシートに設定する。
  • 切り分けの軸: 「完全自動で定型文書を生成したい」「多少手間でもカスタマイズ重視」「アドオンで手軽に済ませたい」の3軸で方法を選ぶ。
  • 注意点: 会社のポリシーでGoogle Apps Scriptやアドオンの実行が制限されている場合がある。管理者に事前確認が必要。

ADVERTISEMENT

Googleフォームとドキュメントの基本的な連携方法

最初に、Googleフォームの回答をスプレッドシートに保存し、そこからドキュメントにデータを反映させる基本的な流れを押さえておきましょう。この方法はスクリプトやアドオンを使わないため、環境に依存せずすぐに試せます。

フォーム回答をスプレッドシートに保存する設定

Googleフォームを作成したら、画面上部の「回答」タブを開き、緑色の「スプレッドシートにリンク」ボタンをクリックします。新しいスプレッドシートを作成するか、既存のシートを指定できます。この操作により、フォームが送信されるたびにスプレッドシートの最終行に回答が追加されていきます。

リンク後、スプレッドシートを開くと、1行目に質問項目(タイムスタンプを含む)がヘッダーとして自動生成されます。2行目以降に各回答が記録されます。このシートを中間データとして、ドキュメントへの転記に利用します。

スプレッドシートからドキュメントへの手動コピー

最もシンプルな方法は、スプレッドシート上のセルをコピーし、ドキュメントに貼り付けることです。ただし、貼り付け時に書式が崩れることがあるため、Googleドキュメントの「編集」→「貼り付け」→「テキストのみ貼り付け」を選択すると、書式なしでデータを挿入できます。この方法は手間はかかりますが、特段の設定が不要で、すぐに実践できます。

以下の手順で、定型的なレポートを手動で作成する流れを確認してください。

  1. Googleフォームの回答が格納されたスプレッドシートを開きます。
  2. 必要な回答行を選択し、右クリックで「コピー」します(Ctrl+C)。
  3. Googleドキュメントの新しい文書を開き、貼り付けたい位置にカーソルを置きます。
  4. 「編集」→「貼り付け」→「テキストのみ貼り付け」を選ぶか、キーボードショートカット(Ctrl+Shift+V)を利用します。
  5. 貼り付け後、表や段落の整形が必要なら手動で調整します。例えば、表として貼り付けたい場合は「貼り付け」→「リンク付き貼り付け」を選び、元のスプレッドシートとリンクさせることも可能です。
  6. この作業を回答が来るたびに繰り返すことで、文書を更新できます。

Google Apps Scriptを使った自動連携

複数の回答を効率よくドキュメントにまとめたい場合、Google Apps Script(GAS)を使って自動化する方法が強力です。GASを使えば、フォーム送信をトリガーに新しいドキュメントを生成したり、既存のドキュメントに追記したりできます。

スクリプトの作成方法

まず、回答データが入っているスプレッドシートを開き、メニューの「拡張機能」→「Apps Script」を選択します。スクリプトエディタが開くので、以下のようなコードを記述します。

function createReport() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var lastRow = data.length;
  var lastResponse = data[lastRow - 1];
  
  var doc = DocumentApp.create('回答レポート ' + new Date());
  var body = doc.getBody();
  body.appendParagraph('フォーム回答レポート');
  body.appendParagraph('タイムスタンプ: ' + lastResponse[0]);
  body.appendParagraph('質問1: ' + lastResponse[1]);
  // 質問に応じて項目を追加
  doc.saveAndClose();
}

この例では、スプレッドシートの最終行のデータを取得し、新しいドキュメントに書き込んでいます。実際の質問項目に合わせて、lastResponseのインデックスを調整してください。

トリガー設定

スクリプトをフォーム送信時に自動実行するには、トリガーを設定します。スクリプトエディタの左側のメニューから「トリガー」→「トリガーを追加」をクリックし、次のように設定します。

  1. 実行する関数: createReport(作成した関数名)
  2. イベントのソース: スプレッドシートから
  3. イベントの種類: フォーム送信時
  4. エラー通知: 自分のメールアドレス(必要に応じて)
  5. 保存ボタンをクリックし、初回実行時に権限の承認を求められたら許可します。

これで、フォームが送信されるたびに新しいドキュメントが自動生成されるようになります。

アドオン「Form Publisher」を利用した方法

スクリプトを書くのが難しい、またはより簡単にテンプレートを使いたい場合、Google Workspace Marketplaceのアドオン「Form Publisher」が便利です。このアドオンはフォーム回答から自動的にドキュメント、スプレッドシート、PDFを生成できます。

アドオンのインストールと設定

Googleフォームの編集画面で、上部の「アドオン」アイコン(パズルピース)をクリックし、「アドオンを入手」を選択します。検索バーに「Form Publisher」と入力し、インストールします。インストール後、フォーム内に「Form Publisher」タブが追加されます。

  1. 「Form Publisher」タブを開き、「新しいテンプレートを作成」をクリックします。
  2. 生成したいドキュメントのテンプレートをドキュメントエディタで作成します。フォームの質問に対応するプレースホルダー({{質問文}} など)を本文中に挿入します。
  3. 保存後、フォーム送信時に自動でドキュメントが生成されるかどうかの設定をオンにします。
  4. 生成されたドキュメントの保存先(Google Driveのフォルダ)を指定します。
  5. 必要に応じて、PDFやスプレッドシートとしても同時に出力できます。
  6. 設定を完了したら、テスト送信を行い、期待通りにドキュメントが生成されるか確認します。

アドオンはGASと違いコードを書く必要がないため、プログラミング知識がなくても導入できます。ただし、一部のアドオンは有料プランがあり、無料版では機能制限がある場合があるので注意してください。

連携方法 自動化度 カスタマイズ性 必要なスキル セキュリティリスク
手動コピペ 高(自由に編集) 不要
Google Apps Script 高(コードで自由) 中程度(JavaScript) 中(権限承認必要)
アドオン(Form Publisherなど) 中~高 中(テンプレート制限あり) 中(サードパーティ依存)

失敗パターンとトラブルシューティング

連携を試みる際によく起こる失敗とその対処法を紹介します。

スクリプトの権限エラー

GASを初めて実行するとき、権限の承認ダイアログが表示されます。会社のアカウントで、管理コンソールによって「未確認のアプリ」がブロックされている場合、スクリプトが実行できません。この場合はIT管理者に問い合わせ、スクリプトの実行を許可してもらうか、別の方法を検討してください。

フォームの設問変更による列ずれ

フォームの質問を後から追加・削除すると、スプレッドシートのヘッダーが変わります。その結果、GASやアドオンで参照している列インデックスがずれ、データが正しく取得できなくなります。フォームの編集後は、必ず連携部分の設定を更新しましょう。特にGASではlastResponse[1]のような固定インデックスを使っている場合、修正が必要です。

テンプレートのデザイン崩れ

アドオンでテンプレートを作成する際、画像や表の配置がずれることがあります。生成後のドキュメントを確認し、テンプレートを調整してください。また、長文の回答がセル幅を超えて表示される場合は、ドキュメントのページレイアウト(余白やフォントサイズ)を見直すと改善できます。

管理者に確認すべきこと

会社のGoogle Workspace環境では、以下の設定が制限されている可能性があります。導入前に管理者に確認しておくとスムーズです。

  • Google Apps Scriptの実行許可: 管理コンソールで「アプリへのアクセス制御」により、未承認のスクリプトがブロックされる場合があります。
  • マーケットプレイスのアドオン制限: 特定のアドオン(特に外部ドメインから提供されるもの)がインストール禁止になっていることがあります。
  • 外部とのデータ連携: フォーム回答を外部サービス(例:自動メール配信)と連携する場合、データ保護ポリシーに抵触しないか確認が必要です。
  • ドライブの共有設定: 生成されたドキュメントの保存場所のアクセス権限が適切か(社内全体公開 vs 制限)を確認します。

よくある質問

Q1. フォーム回答を既存のドキュメントに追記したいのですが、可能ですか?
A1. 可能です。GASではopenById()で既存ドキュメントを開き、appendParagraph()などで追記できます。アドオンの場合、テンプレート設定で「同じドキュメントに追記」オプションがあるか確認してください。

Q2. 無料で使える範囲を教えてください。
A2. 手動コピペとGASはGoogleアカウントがあれば無料です。GASの実行回数は1日あたりの制限(コンシューマー版で90分/日、Workspace版はエディションにより異なる)がありますが、通常のフォーム利用では問題になりません。アドオンは基本機能が無料でも、プレミアムプランが必要な場合があります。

Q3. 回答者ごとに別々のドキュメントを作成したいです。
A3. GASでは、フォーム送信トリガー内でDocumentApp.create()を使い、回答ごとに新しいドキュメントを生成できます。アドオンでは「各回答ごとに個別のファイルを作成」オプションをオンにすれば実現できます。

Q4. スマートフォンからでも連携できますか?
A4. フォームの回答はスマホからでも送信できますが、連携の設定作業(スクリプト作成やアドオン設定)はPCのブラウザから行う必要があります。生成されたドキュメントはGoogleドキュメントアプリで閲覧・編集可能です。

まとめ

Googleフォームの回答をドキュメントにまとめる方法は、手動コピペ、Google Apps Script、アドオンの3つが代表的です。手軽さ重視ならアドオン、カスタマイズ重視ならGASが適しています。会社のセキュリティポリシーで自動化が制限されている場合は、手動でも十分に運用できるため、まずは基本的な連携から始めてみてください。どの方法を選ぶにしても、運用前にテスト送信を行い、意図した文書が生成されることを確認することをおすすめします。適切な連携方法を選び、日々の業務効率を向上させましょう。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT