MENU

Googleフォームでアンケートを一瞬で作る方法

Googleフォームの基本の使い方を知っている人向けです。

Googleフォームで大量に選択肢と設問を設定したい人に朗報です!スプレッドシートに設問を作ると一瞬でフォームを作成してくれるうえに、フォームの編集URL、共有URLも一発で出力してくれる、ライフハックを発明しました。

ラジオボタン、チェックボックス、記述式など設問形式を指定して、思った形式でフォームを作成できます。コピペで簡単なので、ぜひやってみてください。

目次

グーグルフォーム生成用のスプレッドシートを作成

シート名などはスクリプトで参照します。まったく同じ形式で作成してください。

概要シート

アンケート概要や、自動生成されたグーグルフォームのURLの出力先を指定します。シート名は必ず「概要」としてください。

タイトルの項目、概要文、編集用URL、共有用URLを画像に記載のセルに設定します。

質問シート

質問の形式や内容、選択肢を設定するシートを作成します。シート名は必ず「質問」としてください。

質問の内容を1行目に記載します。

つぎに画像のように、以下の項目から、質問の種類(形式)を指定してください。

  • ラジオボタン
  • チェックボックス
  • プルダウン
  • 記述式
  • 日付

質問の選択肢も埋めていきましょう。

拡張機能でスクリプトを書く

コピペでOKのスクリプトを貼ります。

拡張機能からApps Scriptを開きます。

const ss = SpreadsheetApp.getActiveSpreadsheet();




function myFunction() {
 /*
 Googleフォームのアイテムオブジェクトを返す関数
 */
 function createItem(form, title, type) {
   if (type == "ラジオボタン") {
     return form.addMultipleChoiceItem().setTitle(title);
   } else if (type == "チェックボックス") {
     return form.addCheckboxItem().setTitle(title);
   } else if (type == "プルダウン") {
     return form.addListItem().setTitle(title);
   } else if (type == "記述式") {
     return form.addTextItem().setTitle(title);
   } else if (type == "日付") {
     return form.addDateItem().setTitle(title);
   }
 }
  const ss = SpreadsheetApp.getActiveSpreadsheet();
 //概要シートからタイトルとアンケート概要を取得する
 const values = ss.getSheetByName('概要').getDataRange().getValues();
 const formTitle = values[0][1];//タイトル
 const formDescription = values[1][1];//アンケートの概要
  //フォーム作成
 var form = FormApp.create(formTitle);//フォームを新規作成&タイトルを設定
 form.setDescription(formDescription);//アンケートの概要を設定


  //質問シートの値を取得
 const q_Sheet = ss.getSheetByName("質問");
 const rows = q_Sheet.getLastRow();
 const columns = q_Sheet.getLastColumn();
 const q_Values = q_Sheet.getRange(1, 1, rows, columns).getValues();


  //アイテムを追加する
  for (let i = 0; i < columns - 1; i++) {
   const title = q_Values[0][i + 1];
   const type = q_Values[1][i + 1];
   const item = createItem(form, title, type);
   let choiceVals = [];//選択肢を保持するリスト
   for (let j = 0; j < rows - 2; j++) {
     const choiceVal = q_Values[j + 2][i + 1];
     if (choiceVal == "") {
       break;
     } else {
       choiceVals.push(choiceVal);
     }
   }


   //アイテムに選択肢を追加する
   if (choiceVals.length != 0 && (type == "ラジオボタン" || type == "チェックボックス" || type == "プルダウン")) {
     item.setChoiceValues(choiceVals);
   }
 }


//概要シートに、フォームのURLを出力する
 ss.getSheetByName('概要').getRange('B4').setValue(form.getEditUrl());
 ss.getSheetByName('概要').getRange('B5').setValue(form.getPublishedUrl());  //概要
}

上記のスクリプトをコピペします。

次に「プロジェクトを保存」をタップし、保存できたら「実行」をタップしてください。

自分のGoogleアカウントの認証が必要になります。案内に沿って紐づけるGoogleアカウントを選択してください。そのアカウントのマイドライブにGoogleフォームが作成されます。

実行ログが実行完了となっていれば成功、エラーになっていたらchatgptにエラー部分をコピペして聞いてみてください。原因を教えてくれます。

フォームの編集用URLが書き出されるので、フォームの色の変更やセクションの追加、その他記述項目の調整などをして仕上げてください。

組織外への共有が必要な場合には、フォームの設定箇所で変更しましょう。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次