如何在 Google Forms中查詢 Google Sheets 的資料?

"輸入座號就讓每位學生看到自己的成績"- Google Docs Editors Community

有人輸入座號、訂單編號或優惠碼,表單就應該在您的 Google Sheet 中找到對應的值:他們的成績、訂單狀態、折扣。Google 論壇上有 25 人正是在問這件事。Google Forms 無法在有人填寫時讀取 Sheet,而 Apps Script 只在他們提交後才執行。使用 Formfacade,您連結試算表並用簡單的英文描述查詢,他們一回答,值就會出現。您可以顯示、隱藏或設為唯讀,而且它會隨回應一起記錄。

以下說明什麼是查詢(lookup)、為什麼 Apps Script 做不到,以及如何用 Formfacade 設定。

什麼是 Google Forms 中的查詢(Lookup)?

查詢會把表單中的問題連結到 Google Sheet 中的一欄。當填答者選擇或輸入答案時,表單會即時查詢您的試算表,並根據該選擇傳回相關的值。
例如,當填答者輸入優惠碼時,表單可以從您的試算表查詢並傳回適用的折扣。或者,如果填答者從下拉式選單選擇學生姓名,表單可以從您的試算表查詢並傳回該學生的電子郵件地址。這個電子郵件地址會記錄為表單中電子郵件欄位的答案。您可以選擇隱藏這個欄位,讓填答者在填寫表單時看不到它。
這和填入下拉式選單不同,填入下拉式選單時,試算表只用來提供選項清單。查詢則是在填答者做出選擇或輸入值之後發生,並根據他們的選擇從您的試算表傳回資料。

我可以使用 Apps Script 嗎?

Apps Script 可用來編輯表單,或在填答者提交表單後觸發動作。例如,它可以查詢試算表來更新下拉式選單中的答案選項,或寄送確認電子郵件給填答者。然而,在原生的 Google Form 中,Apps Script 無法即時回應填答者的輸入。
查詢需要表單在填答者做出選擇或輸入值的那一刻查詢您的試算表,而 Apps Script 無法在填答者填寫表單時做到這一點。

透過網址匯入 Google Forms

如果您已經在 Google Forms 中建立表單,可以用表單網址把它匯入 Formfacade。這會在 Formfacade 中建立表單的副本,您可以在其中設定查詢。當填答者使用 Formfacade 連結提交表單時,回應會記錄在 Google Forms 中。您可以使用 Google Forms 的 Link to Sheets 功能,將回應即時自動同步到 Google Sheets。
來看這個例子。一份學校行政表單提供學生姓名的下拉式選單。當員工選擇一個姓名時,學生的電子郵件地址會自動從試算表查詢出來,並隨回應一起記錄。這消除了手動輸入的錯誤,確保電子郵件地址永遠正確且最新。電子郵件欄位可以隱藏,讓員工在填寫表單時看不到它。

如何設定?

您的 Google Form 需要填答者要回答的問題,以及一個用來放查詢值的問題。您的 Google Sheet 則需要各自對應的欄。
What do you want to do with your Google Sheets data? 畫面,標示 Connect Google Sheets to your form with AI
  • 貼上您的 Google Form 連結並按一下 Next。Formfacade 會複製您的問題
  • 選擇您的試算表並按一下 Next。如果還沒連結,請按一下 Connect a Google Sheet,並在 Google 的視窗中選擇它
  • 在「How do you want to connect?」下,編輯已寫好的指示來實作查詢,然後按一下 Proceed。例如:「當員工選擇學生姓名時,從 Students 試算表查詢並傳回電子郵件地址。」
  • 按一下 Preview your form 試用看看
  • 把 Formfacade 連結分享給您的填答者。
用簡單的英文或任何語言描述您想要的,當填答者做出選擇時,它就會即時查詢您的試算表,並用試算表中的資料填入答案。表單會自動與試算表保持同步。
再看另一個例子。一家零售店用 Google Form 接受訂單並支援折扣兌換。當顧客輸入優惠碼時,表單會即時查詢試算表並傳回適用的折扣。如果試算表中沒有這個優惠碼,表單會顯示錯誤訊息。例如:「當顧客輸入優惠碼時,從 Discounts 試算表查詢並傳回適用的折扣。」

為什麼選擇這個做法?

  • 不需要 Apps Script。用一句簡單的英文指示設定查詢。
  • 可處理大量資料。支援任何大小、以 Google Sheets 為後端的資料,沒有效能限制。
  • 彈性的介面。可隱藏查詢欄位,或將它們設為唯讀,讓填答者無法編輯傳回的值。
  • 您的試算表是唯一的資料來源。在一個地方更新資料,每份連結的表單都會自動反映。
  • 您的試算表絕不會被修改。Formfacade 會鏡像您的資料以快速提供表單,且從不使用您試算表的寫入權限。

限制

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

常見問題

我可以對填答者隱藏查詢到的值嗎?
可以。您可以選擇隱藏顯示傳回值的欄位。這個值仍會隨表單回應一起記錄,但填答者在填寫表單時看不到它。
如果填答者輸入的值不存在於試算表中,會發生什麼事?
表單可以向填答者顯示錯誤訊息。例如,如果顧客輸入無效的優惠碼,表單會通知他們這個代碼不存在。
查詢可以從與下拉式選單不同的試算表傳回值嗎?
可以。下拉式選單和查詢可以連結到不同的試算表。
試算表需要特定格式才能讓查詢運作嗎?
不需要。只要查詢值在一欄、相關值在另一欄,Formfacade 就能配合您現有的試算表結構。
回應會記錄在 Google Forms 中嗎?
會。無論您使用匯入方式或外掛程式,回應都會照常記錄在 Google Forms 中。您可以使用 Google Forms 的 Link to Sheets 功能,將回應即時同步到 Google Sheets。

摘要

當表單應該在有人作答時從您的 Google Sheet 找到一個值,Google Forms 做不到,而 Apps Script 只在提交後才執行。使用 Formfacade,您連結試算表並用簡單的英文描述查詢,值就會在他們填寫表單時出現。使用 Formfacade 把您的 Google Sheet 連結到表單。如有任何問題,請寫信給支援團隊。

最後更新: