GASでGoogleフォームの送信内容をスプレッドシートに保存する

先生

GASを使えば、Googleフォームのデータ管理が超ラクになる!スプレッドシートへの自動保存で業務効率爆上げ🚀

GASでGoogleフォーム送信内容をスプレッドシートに保存する方法【初心者向け】

Googleフォームは、アンケートや問い合わせフォームを手軽に作成できる便利なツールです。しかし、送信されたデータを一つ一つ確認するのは手間がかかります。そこで、Google Apps Script(GAS)を使うことで、フォームの送信内容を自動的にGoogleスプレッドシートに保存できます。この記事では、GAS初心者の方でも分かりやすく、Googleフォームのデータをスプレッドシートに保存する方法を解説します。

GASは、Google Workspaceのサービスを自動化するためのスクリプト言語です。JavaScriptをベースにしているため、JavaScriptの知識があれば比較的簡単に扱うことができます。GASを使うことで、Googleフォームの送信をトリガーにして、スプレッドシートにデータを書き込む処理を自動化できます。

GASスクリプトの作成手順

まず、Googleフォームとスプレッドシートを用意します。Googleフォームで質問項目を作成し、スプレッドシートは新規作成しておきましょう。

次に、Googleフォームのスクリプトエディタを開きます。Googleフォームを開き、右上の「︙」をクリックし、「スクリプトエディタ」を選択します。

スクリプトエディタが開いたら、以下のコードを記述します。

// スプレッドシートのIDとシート名を指定
const spreadsheetId = 'YOUR_SPREADSHEET_ID'; // スプレッドシートIDを入力
const sheetName = 'フォームの回答'; // シート名を入力

function onFormSubmit(e) {
  // スプレッドシートを取得
  const ss = SpreadsheetApp.openById(spreadsheetId);
  const sheet = ss.getSheetByName(sheetName);

  // フォームの回答を取得
  const responses = e.response.getItemResponses();
  let row = [];
  for (let i = 0; i < responses.length; i++) {
    row.push(responses[i].getResponse());
  }

  // スプレッドシートに書き込む
  sheet.appendRow(row);
}

上記のコードをコピーして、スクリプトエディタに貼り付けます。YOUR_SPREADSHEET_IDの部分は、作成したスプレッドシートのIDに置き換えてください。スプレッドシートIDは、スプレッドシートのURLに含まれています。(例:https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXX/editXXXXXXXXXXXXXXX の部分)。シート名 も必要に応じて変更してください。

次に、スクリプトを保存します。スクリプトエディタの左上にあるディスクアイコンをクリックして、スクリプトを保存します。ファイル名は任意で構いません。(例:FormToSheet

最後に、トリガーを設定します。スクリプトエディタの左側にある時計のアイコン(トリガー)をクリックします。「トリガーを追加」ボタンをクリックし、以下の設定を行います。 * 関数: onFormSubmit * イベントソース: フォームから * イベントの種類: フォーム送信時 設定が完了したら、保存ボタンをクリックします。初回実行時は、Googleアカウントへのアクセス許可が求められるので、許可してください。

スクリプトの解説

上記のスクリプトは、以下の処理を行っています。

onFormSubmit(e): フォームが送信された時に実行される関数です。e はイベントオブジェクトで、フォームの回答データが含まれています。

SpreadsheetApp.openById(spreadsheetId): 指定されたIDのスプレッドシートを開きます。

ss.getSheetByName(sheetName): 指定された名前のシートを取得します。

e.response.getItemResponses(): フォームのすべての回答を取得します。

sheet.appendRow(row): スプレッドシートの最終行に、フォームの回答を書き込みます。

動作確認

Googleフォームを送信して、スプレッドシートにデータが保存されるか確認します。フォームに回答を入力して送信すると、スプレッドシートにデータが自動的に追加されます。

エラーシューティング

スクリプトが正常に動作しない場合は、以下の点を確認してください。

* スプレッドシートIDが正しいか。 * シート名が正しいか。 * トリガーが正しく設定されているか。 * Googleアカウントへのアクセス許可が与えられているか。

スクリプトエディタの「実行ログ」を確認すると、エラーの内容がわかる場合があります。

参考リンク

まとめ

GASを使うことで、Googleフォームの送信内容を簡単にスプレッドシートに保存できます。今回の記事を参考に、ぜひGASを活用して、業務効率化を図ってみてください。GASは奥が深く、様々な自動化処理を実現できます。色々な活用方法を試してみてください。