2019年9月25日 星期三

Google Form 選項額滿設定



假設要辦一個大活動,活動下有各種組別,開放活動參與者填選,但每組有名額限制,須表單在該組名額已滿時自動顯示「額滿勿選」。請問該如何設定Google表單?

首先,將表單題幹製作好(選項內容尚無須填寫):


切換到RESPONSES,點擊Create Spreadsheet:


在spreadsheet內增添一個Sheet命名為「Choices」,並填上4欄「Rename」、「Lab」、「Response Count」、「Response Limit」,其中「Rename」欄下方內填入「=IF(C2<D2,B2,TEXT(ROW(A2)-1,"0")&". 額滿勿選")」後,往下拉到足夠的選項數,使得語碼都自動填入各行:


再分別於「Lab」下方填入選項、「Response Count」下填「=COUNTIF('Form Responses 1'!$C:$C,B2)」後往下拉、「Response Limit」下填入名額數限制。其中語碼「'Form Responses 1'!$C:$C」是指第1頁「Form Responses 1」的C欄,即「選擇欲參觀的實驗室」欄,用來計算填答人數;「C」請斟酌改成你的選項欄位:


回到表單,在Add-ons下選擇「formRanger」(若尚未安裝,請搜尋後安裝),再按下Start:


勾選「Populate from range」,點擊「New range」,再選擇剛剛的spreadsheet:


在「Sheet name」下選剛剛增添的「Choices」,在「Column header」下選「Rename」,再點擊Next:


在「Range name」命名「My range」後,點擊Save and populate question:


此時選項題就會自動輸入你剛剛在spreadsheet填好的選項。最後將On form submit和Every hour開啟:


這就大功告成。順帶一提,我喜歡設定要求填表者登入Google帳號:


--
(June 2021) Google Form的「On form submit」(送出時即時計入填表結果)改成不接受duplicate entries(完全相同的填表內容)。故Rename欄須避免有相同的內容,例如全取代成「額滿勿選」是無法觸發「On form submit」的,因此前述教學在「額滿勿選」前頭加上不同編號「1.」、「2.」等(成為「1. 額滿勿選」、「2. 額滿勿選」等)。

5 則留言:

  1. 您好:看到本篇文章對於這個外掛程式的發現「故若你想進行測試,不要只是切換帳號卻填入整份表單完全相同的作答,這樣「On form submit」時是無法即時計入你的填表的。」,想詢問要如何即時計入填答的結果?

    回覆刪除
    回覆
    1. 您好:我的問卷,每個選項人數上限是1人,測試時,我有切換帳號,填答時也選不同的選項,但是問卷仍沒有即時更新,請問可能是什麼問題?

      刪除
    2. 我修改了教學文(修改Rename欄的語碼)。可再試試。

      刪除
  2. 您好,我使用了formRanger的外掛,但關閉選項似乎無法及時更新,要在表單頁面手動更新(有將回覆更新與每小時更新都勾選了),請問有解嗎?

    回覆刪除
    回覆
    1. 可以截圖給我看「某些選項關閉後」的表單模樣嗎?

      刪除