2025年5月29日 星期四

使用 formRanger 輕鬆打造 Google 表單預約系統 (含自動更新)

今天想跟大家分享如何利用 Google 表單搭配一個強大的外掛 formRanger,來製作一個可以自動更新的預約系統。

過去很多網友在修改我的 Google 表單程式時,常常需要額外的客製化或協助除錯,這促使我思考是否能用更簡單的方式來實現預約功能,減少手動維護的麻煩。

於是我嘗試使用 Google 表單加上 formRanger 外掛來建構預約系統。我設定的範例是:每天都有預約時段,但星期五星期日不開放預約。當有網友預約了某個時段後,該時段就會立即從表單的選項中消失,讓後面的預約者看不到已被預約的時段。這個「消失」的魔法,主要就是透過後端試算表搭配 FILTER 函數和 formRanger 實現的。

範例預約表單展示 (根據影片內容)

您可以先看看實際完成的表單會是什麼樣子。(由於無法嵌入動態表單,這裡描述功能)

表單包含:

  • 您的姓名或暱稱 (必填)

  • 聯絡電話 (必填)

  • 您要預約的時段 (多選方塊)

  • 請簡要解決的問題 (請說明)

在「您要預約的時段」這個多選方塊中,會列出所有可預約的日期和時段。當您預約並提交後,重新整理表單,您預約的時段就會消失,不會再出現在選項列表中。同時,表單設定了星期五和星期日不會出現可預約的時段。

這套系統的優點:

  1. **自動更新:**formRanger 可以設定在表單提交後自動更新問題選項,避免重複預約。

  2. **數據集中:**所有預約資料都集中在一個 Google 試算表中,方便管理和查看。

  3. **彈性設定:**可以透過試算表中的公式,靈活設定可預約的日期、時段,甚至排除特定日期(如假日)。

  4. **無需寫程式:**核心功能依賴 formRanger 外掛和試算表公式,大部分使用者都能自行操作。

如何建構這個系統?

這個系統的核心是 Google 試算表,它作為 formRanger 的資料來源,提供表單的選項列表。

步驟一:準備 Google 試算表

建立一個新的 Google 試算表(或使用現有的)。這個試算表會有兩個工作表:

  • 工作表 1 (表單回應): Google 表單自動連結產生的回應工作表。這個工作表會記錄所有使用者提交的預約資訊。

  • 工作表 2 (預約時段列表): 我們要手動建立的工作表,用來產生和過濾可預約的時段列表,供 formRanger 使用。

在「工作表 2」中,建立以下欄位:

  • 內容 (A欄): 產生包含日期和時段的字串。這個欄位會根據你的「開始日期」和時間間隔自動生成一系列預約時段。

    • 範例公式 (A2儲存格): =text((row(A1)-1)+'工作表 2'!$H$1),"mm/dd(星期a) ") & text((row(A1)-1)+'工作表 2'!$H$1),"HH:mm") & "-" & text(time(hour('工作表 2'!$H$1),minute('工作表 2'!$H$1)+30,0),'HH:mm')

      • 這個公式比較複雜,它的作用是:

        • '工作表 2'!$H$1 引用 H1 儲存格的「開始日期」(例如:2022/8/1 上午 9:00:00)。

        • row(A1)-1 產生一個從 0 開始遞增的數字系列 (A2是row(A2)-1=1, A3是row(A3)-1=2...),用來計算日期偏移量。

        • '工作表 2'!$H$1 + row(A1)-1 讓日期每天遞增。

        • text(...,"mm/dd(星期a) ") 將日期格式化為月/日(星期幾)的字串。

        • text(time(hour('工作表 2'!$H$1),minute('工作表 2'!$H$1)+30,0),'HH:mm') 計算出結束時間(從 H1 的時間開始,加上 30 分鐘,並格式化為時:分的字串)。

        • 用 & "-" & 將開始時間和結束時間連接起來。

    • 將 A2 儲存格的公式向下拖曳填充,產生接下來的預約時段列表(例如產生一個月的時段)。

  • 是否已預約 (B欄): 檢查該時段是否已被預約。

    • 範例公式 (B2儲存格): =COUNTIF('表單回應 1'!C:C,"*"&A2&"*")

      • '表單回應 1'!C:C 指的是「表單回應 1」工作表中的 C 欄(預約的時段)。

      • "*"&A2&"*" 是一個模糊匹配的條件,查找在回應的預約時段字串中,是否包含「工作表 2」A2 儲存格的完整時段字串(例如 "08/01(星期一) 21:00-21:30")。* 是萬用字元,表示匹配前後的任意文字。

      • COUNTIF 函數會計算符合條件的儲存格數量。如果結果大於 0,表示該時段已被預約。

    • 將 B2 儲存格的公式向下拖曳填充。

  • 星期 (C欄): 提取星期幾,用於過濾特定星期。

    • 範例公式 (C2儲存格): =MID(A2,9,1)

      • 這個公式從 A2 儲存格的字串中,從第 9 個字元開始,擷取 1 個字元(例如 "星期一" 中的 "一")。

    • 將 C2 儲存格的公式向下拖曳填充。

  • 顯示內容 (E欄): 這是 formRanger 實際用來 populate 表單選項的欄位。它會根據「是否已預約」和「星期」來過濾。

    • 範例公式 (E2儲存格): =iferror(filter(A2:A,B2:B=0,REGEXMATCH(C2:C,"^[一二三四六]$")),"")

      • filter(A2:A, B2:B=0, ...):過濾 A 欄的內容,只保留 B 欄值等於 0 的列(即未被預約的時段)。

      • REGEXMATCH(C2:C,"^[一二三四六]$"):進一步過濾 C 欄(星期)的內容,只保留符合正則表達式條件的列。^[一二三四六]$ 表示字串必須從頭 (^) 到尾 ($) 恰好是「一」或「二」或「三」或「四」或「六」。這排除了星期五和星期日。

      • iferror(...,""):如果 filter 函數沒有找到任何符合條件的列(例如所有時段都被預約或當月假日過多),就會產生錯誤,iferror 會將錯誤替換為空字串 ("") 或其他提示文字(如影片中的「已全部被預約」)。

    • 將 E2 儲存格的公式向下拖曳填充。

  • 開始日期 (H1儲存格): 手動設定每月預約的開始日期和時間。例如:2022/8/1 上午 9:00:00 或 2022/9/1 下午 9:00:00 (21:00)。當你更改 H1 的日期時,A 欄的預約時段列表會自動更新。

步驟二:建立 Google 表單並安裝 formRanger 外掛

  1. 建立 Google 表單,並新增必要的文字或段落問題(姓名/暱稱、聯絡電話、問題說明)。

  2. 新增一個「多選方塊」類型的問題,作為「您要預約的時段」。

  3. 安裝 formRanger 外掛:在表單編輯頁面,點選右上角的「外掛」(像拼圖的圖示) -> 「取得外掛程式」,搜尋 formRanger 並安裝。

步驟三:設定 formRanger

  1. 在表單編輯頁面,點選右上角的「外掛」圖示,然後點選 formRanger。

  2. formRanger 側邊欄會出現。找到「您要預約的時段」這個問題。

  3. 點選該問題旁邊的「+」按鈕或選擇 "Populate from range"。

  4. 選擇你的 Google 試算表 (表單預約系統 (回覆))。

  5. 選擇「工作表 2」。

  6. 在 Column header 下拉選單中,選擇「顯示內容」(這是包含過濾後可預約時段的 E 欄)。

  7. 在 Range name 中為這個範圍取一個容易辨識的名稱(例如「可預約時段」)。

  8. 點選 Save and populate question

  9. **重要設定:**在 formRanger 側邊欄底部找到 Auto-repopulate questions。將 On form submit 和 Every hour 都設定為 ON。這確保表單提交後和每小時都會自動更新選項。

步驟四:設定回應驗證 (限制預約數量)

  1. 在表單編輯頁面,找到「您要預約的時段」問題。

  2. 點選右下角的垂直三點圖示 -> 「回應驗證」。

  3. 設定驗證規則:例如,選擇「選取」 -> 「最多」 -> 輸入數字 4。這樣每個人最多只能預約 4 個時段。

    • 注意: formRanger 更新選項時,這個回應驗證的設定不會自動同步。如果你修改了這裡的最大預約數量,需要手動調整。

步驟五:分享表單

  1. 在表單編輯頁面,點選右上角的「傳送」。

  2. 選擇連結圖示。

  3. 勾選「縮短網址」以獲得一個較短的連結。

  4. 複製並分享這個連結給需要預約的人。

維護提示:

  • 每月初或需要更新預約時段時,只需到 Google 試算表的「工作表 2」,修改 H1 儲存格的「開始日期」即可。A、B、E 欄會自動更新。

  • 如果你想修改排除預約的星期幾,需要修改 E 欄公式中的 REGEXMATCH 部分(例如,若要排除星期六和星期日,將 [一二三四六] 改為 [一二三四五])。修改後向下填充公式。

  • 如果你修改了回應驗證(最多選擇數量),需要手動到表單的設定中修改。

希望這篇文章能幫助你利用 Google 表單和 formRanger 輕鬆建立一個自動更新的預約系統!




2025年5月28日 星期三

如何利用 Google 表單製作具有分頁及圖片的產品訂購單

Google 表單是一個免費且功能強大的工具,不只可以用來製作問卷調查,也很適合用來設計簡易的產品訂購單。如果您有販售多種類別的產品,並希望顧客能更直觀地選擇商品及數量,並在填寫完購買資訊後自動收到訂購內容,那麼 Google 表單的「區段」功能搭配圖片和線性刻度,將是個非常方便的選擇。

本篇文章將逐步引導您,如何從無到有,利用 Google 表單製作出類似影片中具有分頁跳轉、產品圖片及數量選擇的訂購單。

準備工作:

  • 一個 Google 帳號。

  • 準備好您的產品圖片檔案(例如:.jpg, .png 格式)。

開始製作:

  1. 開啟 Google 表單:

    • 登入您的 Google 帳號。

    • 前往 Google 雲端硬碟 (drive.google.com)。

    • 點選左上角的「新增」(+ 符號)。

    • 在下拉選單中,選擇「更多」,然後點選「Google 表單」(通常是紫色的圖示)。

  2. 設定表單標題與說明:

    • 表單開啟後,上方會顯示「無標題表單」。點擊它來輸入您的訂購單標題,例如:彰化一天代賣商品

    • 在標題下方的「表單說明」處,您可以輸入關於您的商店、產品特色、訂購流程、運費資訊等說明文字。例如:若我的程式或文章有幫助到您,而您又有需要羊奶及滴雞精,可以透過此表單訂購,我會收到部分回饋金。

  3. 新增第一個區段(主要產品類別選擇):

    • Google 表單預設只有一個區段。點選右側工具列最下方的圖示(看起來像兩個堆疊的長方形),這會在你目前所在區段下方新增一個「區段」。

    • 第一個區段將用來讓顧客選擇主要產品類別。點擊第一個區段的問題標題,輸入問題,例如:選取您要的產品

    • 選擇問題類型為「單選」。

    • 新增您的主要產品類別選項,例如:羊奶系列滴雞精

    • 勾選「必填」,確保顧客必須選擇一個類別才能繼續。

  4. 設定依據答案前往不同區段:

    • 這是實現分頁跳轉的關鍵。在「選取您要的產品」這個問題的右下方,點擊三個點的選單。

    • 選擇「根據答案前往相關區段」。

    • 你會看到每個選項旁邊出現一個下拉選單。目前我們還沒有建立對應的區段,所以先跳過。

  5. 建立各產品類別的專屬區段:

    • 重複步驟 3 的動作,再新增兩個區段:

      • 第二個區段(給羊奶系列): 點擊區段標題輸入,例如:羊奶系統

      • 第三個區段(給滴雞精): 點擊區段標題輸入,例如:香純滴雞精

    • 返回步驟 4: 回到第一個區段的問題「選取您要的產品」。點擊右下角三個點選單,選擇「根據答案前往相關區段」。

    • 現在下拉選單中應該會出現您新增的區段名稱。設定:

      • 「羊奶系列」選項 → 前往區段 2 (羊奶系統)

      • 「滴雞精」選項 → 前往區段 3 (香純滴雞精)

  6. 在產品類別區段中新增產品選項(含圖片與數量):

    • 前往區段 2 (羊奶系統)

    • 點選右側工具列的「+」符號,新增問題。

    • 問題標題:輸入您的第一個羊奶產品名稱和價格,例如:羊奶冰棒20枝 (全部原味, 500元含運費)

    • 問題類型:選擇「線性刻度」。

    • 設定刻度範圍:例如從 1 到 10。

    • 在刻度標籤上輸入文字(可選),例如 1 旁邊輸入最少,10 旁邊輸入最多

    • 加入產品圖片: 在問題標題右側,你會看到一個圖片圖示。點擊它來上傳或選擇該產品的圖片。

    • 重複新增問題,為您的其他羊奶產品建立選項(每個產品都是一個獨立的「線性刻度」問題)。

    • 設定區段結束後的跳轉: 在區段 2 的最下方,你會看到「前往下一個區段」的下拉選單。設定這個選項為「前往區段 4 (填寫購買者資訊)」(區段 4 我們等一下會建立)。這樣顧客選完羊奶產品後就會自動跳到填寫資料的頁面。

    • 前往區段 3 (香純滴雞精)

    • 重複上述步驟,為您的滴雞精產品新增問題(每個產品一個「線性刻度」問題),設定刻度範圍,並加入產品圖片。

    • 設定區段結束後的跳轉: 在區段 3 的最下方,同樣設定為「前往區段 4 (填寫購買者資訊)」。

  7. 建立購買者資訊區段:

    • 新增第四個區段(如果之前沒建的話)。點擊區段標題輸入,例如:填寫購買者資訊

    • 在這個區段中,新增問題收集顧客的必要資訊:

      • 點擊「+」新增問題。

      • 您的姓名:選擇「短答」,勾選「必填」。

      • 性別:選擇「單選」,新增「女」、「男」等選項,勾選「必填」。

      • 聯絡電話:選擇「短答」,勾選「必填」。

      • 寄送地址:選擇「段落」,勾選「必填」。

      • 其他說明:選擇「段落」,不勾選「必填」。

    • 設定表單提交: 在區段 4 的最下方,應該會看到「提交表單」的選項。這是最後一個區段,所以填寫完畢就直接提交。

  8. 調整表單設定:

    • 點選表單右上角的齒輪圖示(設定)。

    • 一般:

      • 「收集電子郵件地址」:勾選此項,表單一開始會要求顧客輸入 E-mail。

      • 「作答回覆」:建議選擇「依作答者要求」,讓顧客自己決定是否收到回覆副本。

      • 「需要登入」:如果希望任何人都能填寫,請取消勾選「限定回覆 1 次」。

      • 「作答者可以」:通常製作訂購單不建議讓顧客在提交後編輯或查看他人回覆,所以這兩項通常不勾選。

    • 簡報:

      • 「確認訊息」:可以自訂顧客提交表單後看到的訊息,例如「我們已收到您的訂單,謝謝!」。

    • 完成設定後,點選右上角的「儲存」。

  9. 預覽與分享你的訂購單:

    • 點選表單右上角的眼睛圖示(預覽),檢查表單的流程和顯示是否正確。測試一下選擇不同產品類別是否會跳轉到正確的區段。

    • 如果一切正常,點選表單右上角的「傳送」。

    • 在彈出的視窗中,點選中間的連結圖示。

    • 勾選「縮短網址」。

    • 複製產生的短網址。這就是您可以分享給顧客使用的產品訂購單連結了!

重要提醒:

  • 在正式使用前,務必自己或請朋友測試整個訂購流程幾次,確保所有連結跳轉和問題都能正常運作。

  • Google 表單主要用於收集資訊,後續的訂單處理、付款、庫存管理等功能需要您自行額外處理。


123

【Google試算表教學】一步驟解決!徹底防止檢視者下載、複製,保護你隱藏的工作表

您是否也以為只要將Google試算表中的工作表「隱藏」起來,分享出去後別人就看不到了呢?最近有網友反應,他明明已經將含有原始資料的工作表隱藏了,但分享給同事後,對方卻說依然能看到隱藏的內容。 經過測試後,我們發現了一個許多人都可能忽略的資安漏洞: 即使你隱藏了工作表,只要檢視者有...