如何從試算表填入 Google Forms的下拉選單?

"我要怎麼用 Sheets 自動填入表單的選項?"- Google Docs Editors Community

您的供應商、產品或員工是 Google Sheets 中的一份清單,表單中的下拉式選單應該顯示這份清單今天的樣子。Google Forms 無法讀取 Sheet:您得手動貼上選項,而清單每次變動,表單就跟著落後。Apps Script 可以把它們複製過去,但需要有人撰寫並修正,而且下拉式選單仍然停在 1,000 個選項。使用 Formfacade,您連結試算表,再用簡單的英文或任何語言描述下拉式選單。您的填答者會看到目前的清單,輸入幾個字母就能找到他們要的選項。

以下是填入 Google Forms 下拉式選單的三種方法,從貼上清單到連結您的 Sheet,以及各自的不足之處。

Google Forms 中的下拉式選單問題

下拉式選單問題讓填答者從預先定義的選項清單中選擇一個答案。它和選擇題相似,填答者只能從可用的選項中選擇一個答案。與選擇題不同的是,選項會隱藏起來,直到填答者按一下下拉式欄位才會出現。這很適合長清單,讓表單保持精簡。

如何在 Google Forms 中加入下拉式選單問題?

在 Google Forms 中開啟您的表單 > 按一下 + 新增問題圖示 > 輸入問題標題 > 選擇 Dropdown 問題類型 > 在 Add option 中輸入答案選項 > 如果要讓問題成為必填,請開啟 Required 切換按鈕。
提示:不必手動逐一加入每個答案選項,您可以從試算表複製選項,貼到第一個答案選項欄位中。Google Forms 會自動把它們分成個別的選項。

限制

  • Google Forms 每個下拉式選單的選項有 1,000 個的硬性上限。比這更長的清單無法正確載入。
  • 沒有原生方式可以從 Google Sheet 取得選項。選項必須手動輸入或貼上。
  • 清單的任何變動,無論是新增、刪除或編輯選項,都需要開啟表單手動編輯。
要克服這些限制,您可以使用 Apps Script 或 Formfacade - Sheets Lookup 外掛程式,從 Google Sheets 填入 Google Form 的下拉選單。

方法1:Google Apps Script

Apps Script 可以讓您自動化 Google Forms、Sheets、Drive 和其他 Google Workspace 應用程式中的工作。您可以撰寫一段指令碼,讀取試算表中的一欄,並自動用這些值更新表單的下拉式選單。例如,如果您有一份列出 500 多家供應商的 Google Sheet,就能自動填入表單中的供應商下拉式選單,不必手動加入。

如何設定?

  • 在 Google Forms 中開啟您的表單 > 按一下右上角的 ⋮ 三點選單 > 選擇 Apps Script
  • 在 Apps Script 中,按一下 Create script > 貼上下列指令碼。
  • 將 YOUR_FORM_ID 和 YOUR_SHEET_ID 換成您表單和試算表網址中的 ID。將 QUESTION_TITLE 換成表單中下拉式選單問題的確切標題,包括大小寫和空格。
  • 完成這些變更後,儲存指令碼並按一下 Run 執行。Google 會要求您授權指令碼存取您的表單和試算表。按一下 Review Permissions,選擇您的 Google 帳戶,然後按一下 Allow。手動執行也能讓您在設定觸發條件之前確認指令碼可以運作。
  • 按一下左側欄的觸發條件圖示(時鐘)> 按一下 Create a new trigger > 在開啟的對話框中選擇要執行的函式:選擇 updateDropdown > 選擇活動來源:選擇 Time-driven > 選擇時間型觸發條件類型:選擇 Hour timer 或 Day timer > 選擇間隔:選擇您偏好的頻率(例如每小時或每天),然後按一下 Save。

如何找到您的表單 ID 和試算表 ID?

表單 ID:在 Google Forms 中開啟您的表單。在網址中,複製 /d/ 和 /edit 之間的字串。
https://docs.google.com/forms/d/FORM_ID/edit.
試算表 ID:開啟您的 Google Sheet。在網址中,複製 /d/ 和 /edit 之間的字串。
https://docs.google.com/spreadsheets/d/SHEET_ID/edit.

限制

  • 需要撰寫並維護程式碼。指令碼可能在沒有任何警告的情況下停止運作,在有人發現並修正之前,填答者看到的選項會是過時的或缺漏的。
  • Google Forms 的下拉式選單無法顯示超過 1,000 個選項,Apps Script 也無法突破這個限制。
  • 每份表單都需要自己的指令碼和觸發條件。如果您有多份表單從同一份試算表取資料,就必須為每一份複製並維護這套設定。

方法 2:使用 Formfacade - Sheets Lookup

您可以使用 Formfacade 把 Google Sheet 連結到表單,完全不需要程式碼。用簡單的英文或任何語言描述您想要的,它就會用試算表中的資料填入您的下拉式選單。表單會自動與試算表保持同步。

如何設定?

您的 Google Form 需要一個下拉式選單問題,您的 Google Sheet 需要選項清單。
What do you want to do with your Google Sheets data? 畫面,標示 Populate a dropdown from Google Sheets
  • 貼上您的 Google Form 連結並按一下 Next。Formfacade 會複製您的問題
  • 選擇您的試算表並按一下 Next。如果還沒連結,請按一下 Connect a Google Sheet,並在 Google 的視窗中選擇它
  • 在「How do you want to connect?」下,編輯已用簡單英文寫好的指示,然後按一下 Proceed。例如:「用 Supplier 試算表中的名稱填入供應商下拉式選單」
  • 按一下 Preview your form 試用看看
  • 使用 Formfacade 分享連結收集回應。
您的下拉式選單會顯示試算表中的選項,清單變更時也會保持同步。

為什麼選擇這個做法?

  • 不需要 Apps Script。用一句簡單的英文指示取代指令碼。
  • 支援大型清單。可處理數百或數千個選項,沒有效能限制。
  • 彈性的介面。可以顯示標準下拉式選單,或在長清單上啟用搜尋自動完成。
  • 您的試算表是唯一的資料來源。在一個地方更新資料,每份連結的表單都會自動反映。
  • 您的試算表絕不會被修改。Formfacade 會鏡像您的資料以快速提供表單,且從不使用您試算表的寫入權限。

限制

  • 需要訂閱 Formfacade - Sheets Lookup。
  • 回應會照常記錄在 Google Forms 中,但您必須使用 Formfacade 連結,而不是原生的 Google Forms 網址來收集回應。

比較

Apps ScriptFormfacade - Sheets Lookup
需要寫程式是否
自動保持同步是(若觸發條件正常運作)是(每 30 分鐘或每次提交時)
支援超過 1,000 個選項否是
一份試算表,多個表單否,每個表單需各自的指令碼是
需要維護是否
費用免費需要訂閱
如果您的清單少於 1,000 個選項,而且您能自在地撰寫和維護指令碼,請使用 Apps Script。如果您想要可靠的免寫程式方案,尤其是清單很大、經常變動或需要供多個表單使用時,請使用 Formfacade - Sheets Lookup。

常見問題

我在試算表中新增一列時會發生什麼事?
使用 Formfacade,表單會自動同步,您不需要做任何事。預設每 30 分鐘或在表單提交時同步。使用 Apps Script,更新會在下一次觸發條件執行時發生,依您的排程每小時或每天一次。
選項的數量有上限嗎?
Google Forms 每個下拉式選單的選項有 1,000 個的硬性上限。Apps Script 無法突破這個限制。Formfacade 可以處理任何大小的清單,並會自動把長清單轉成邊輸入邊搜尋的介面。
一份試算表可以供應多份表單的下拉式選單嗎?
可以。匯入方式和外掛程式都支援把同一份試算表連結到多份表單。使用 Apps Script,每份表單都需要獨立的指令碼和觸發條件。
我可以控制下拉式選單中出現哪些選項嗎?
可以,使用 Formfacade 就行。您可以去除重複選項只顯示唯一值、排序或依條件篩選。例如:「只顯示 Status 欄為 Active 的供應商。」

摘要

當您的下拉式選項存放在 Google Sheet 中,Google Forms 無法讀取它們,所以貼上的清單會落後,指令碼則需要有人讓它持續運作。使用 Formfacade,您連結試算表並用簡單的英文描述下拉式選單,它就會隨著清單變動而更新。使用 Formfacade 把您的 Google Sheet 連結到表單。如有任何問題,請寫信給支援團隊。

最後更新: