Googleフォーム プルダウン(ドロップダウン)リストの項目をスプレッドシートから読み込んで追加する方法

Googleフォーム

Googleフォーム関連

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

Googleフォームのデザインを自由に変更する方法
Googleフォーム関連 ご訪問ありがとうございます。 Googleシートマスターのひろしです。 前回 今回は、とっても価値の高い方法をお伝えします。 これを知ることであなたは、 あなたが...

今回は、とっても価値の高い方法をお伝えします。

 

 

最新版(『名前付き範囲』で読み込む方法)はこちら↓

Googleフォームにスプレッドシートから項目を追加する方法(コピペでできる!)
Googleフォーム関連 ご訪問ありがとうございます。 Googleシートマスターのひろしです。 前回 今回は、とっても価値の高い方法をお伝えします。 これを知ることであなたは、 手軽にス...

 

 


これを知ることであなたは、
Googleフォームのプルダウンの項目を

  • スプレッドシートから読み込んで追加することができます。
  • GASって何?状態であってもできます。


逆に、知らないと

Googleフォームのプルダウンに
たくさん項目を追加する際に、チンタラ、
1項目づつ、手作業で追加する状態が続きます。

なので、サクッとマスターして

と言ってあげてください

動画はこちら

Googleフォーム スプレッドシートからプルダウンの項目を読み込む方法

サンプルシート


※クリックするとシートが開きます。

 

スクリプト

const FORMID = '******************************************'   //① GoogleフォームのID
const ITEMNAME = '項目名'                                      //② 項目のタイトル
const SHEETNAME = 'シート1'                                    //③ 読み込むシート名


/**
 * Googleフォームのプルダウンリストに項目を追加する
 */
function AddGoogleFormsListItem() {
  const form = FormApp.openById(FORMID)
  const items = form.getItems()

  const section = choiceValues()
  console.log(section)

  //デバック用Google Formsの質問名と、IDを取得
  for (let i = 0; i < items.length; i++) {

    const item = items[i]
    const itemName = item.getTitle()
    const itemId = item.getId()

    console.log(`質問名 ${itemName}, \n質問のID ${itemId}`)

    //スプレッドシートのシェアハウスDBから内容を読み取って、Formの項目を更新する。
    if (itemName == ITEMNAME) {
      items[i].asListItem().setChoiceValues(section)
    }//if
  }//for
}//end


//Googleシートから、プルダウンリストの選択肢を取得する
function choiceValues() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEETNAME)
  const lastRow = sheet.getLastRow()
  const values = sheet.getRange(1, 1, lastRow, 1).getValues()
  values.shift()

  return values
}

 

 

スクリプトに入力する項目

①フォームID

 

②項目名

 

③シート名

1行目は読み込みません。

 

マインドセットします。

マインドセット
プルダウンに5個以上項目がある場合は、スプレッドシートから読み込め

 

 

では、今回のGoogleシートマスターへの究極の方法です。

Step1.
Googleフォーム開く

Step2.

プルダウンの項目を追加する

Step3.

サンプルシートをコピーして開く

Step4.

スクリプトを貼り付ける

Step5.

GoogleフォームのID、項目名、シート名をコピペし動作を確認する

では、早速Googleフォームを開いてください
今すぐです。

最後までご覧いただきありがとうございます。

つぎはこちら

Googleフォームにスプレッドシートから項目を追加する方法(コピペでできる!)
Googleフォーム関連 ご訪問ありがとうございます。 Googleシートマスターのひろしです。 前回 今回は、とっても価値の高い方法をお伝えします。 これを知ることであなたは、 手軽にス...

Googleフォーム関連

コメント

  1. shou より:

    とてもわかりやすく勉強になります。
    超初心者ですが、コードをコピペしてスプレッドシートから項目を追加することができました。

    1つ質問なのですが、プルダウンの「回答に応じてセクションに移動」についても同様にスプレッドシートから追加することは可能でしょうか?

    • hiroshi より:

      可能ですが、その仕組をスプレッドシート上に作るのは、
      ちょっと頑張る必要があります。

  2. kazu より:

    大変わかりやすくて助かりました。ありがとうございます。

    あまりにも初心者で聞くのが恥ずかしいのですが、例えば1つのスプレッドシートを使って複数のフォームに反映させたい場合はどういう風になるのでしょうか。

    • hiroshi より:

      フォームの内容によりますが、いちばん簡単なのは、

      かっこ悪いですが、AddGoogleFormsListItem()関数を
      そのままコピペして
      newmain(){
      AddGoogleFormsListItem()
      AddGoogleFormsListItem2()
      }
      とやれば実現できます。

      実際には、AddGoogleFormsListItem(FORMID)とかやりたいところですが、
      その辺は中身によりますね。

      実際のフォームをご提供いただければ、もう少しクリティカルな回答ができるかもしれません。

タイトルとURLをコピーしました