2025年5月5日 星期一

Google 表單教學:提交後自動寄送 Email 通知(含自動編號與金額計算)

今天要分享一個實用的 Google 表單應用:當使用者提交表單後,系統能自動寄送 Email 通知給填寫者,同時也發送 Line Notify 訊息給管理者(例如網站站長)。這個功能不僅限於購物回報,也可用於各種回饋、報名或通報系統。

這次的教學會包含:

  1. 自動寄送 Email 給表單填寫者。

  2. 自動發送 Line Notify 訊息給管理者。

  3. 在 Google Sheet 中使用陣列公式 (ARRAYFORMULA) 自動產生流水號。

  4. 在 Google Sheet 中使用陣列公式自動計算金額。

  5. 提供可直接使用的 Google Apps Script 程式碼,僅需少量修改即可套用。

為何需要這個功能?

想像一下,無論是處理訂單、收集報名資料或接收問題回報,如果能在使用者提交表單的當下,立即給予他們一封確認信,同時讓管理者馬上收到 Line 通知,不僅能提升使用者體驗,也能讓管理者即時掌握最新狀況,方便後續追蹤處理(例如,可以依據自動產生的訂單編號與客戶溝通)。

功能展示

在影片的示範中 (0:47-1:39),當使用者填寫完 Email、選擇商品(包含價格資訊)與數量後提交表單:

  1. Line Notify 通知: 管理者的 Line 會立刻收到通知,內容包含自動編號、填寫者 Email、購買品項、數量、單項金額以及計算後的總金額。

  2. Email 通知: 填寫者提供的 Email 信箱也會收到一封確認信,內容與 Line 通知相似,包含所有訂單細節與總金額。

設定步驟

步驟一:建立 Google 表單與 Google Sheet

  1. 建立你的 Google 表單,至少包含:

    • 一個收集 Email 的問題(建議設為必填,並啟用 Google 表單設定中的「收集電子郵件地址」)。

    • 你想讓使用者填寫的其他問題(例如:商品選項、數量、意見回饋等)。在範例中,商品選項直接包含價格資訊 (e.g., "香純滴雞精10包(原味)1500元"),數量則使用線性刻度。

  2. 點擊表單編輯頁面上的「回覆」分頁。

  3. 點擊綠色的 Google Sheet 圖示(建立試算表),建立一個新的試算表來儲存表單的回覆。

步驟二:在 Google Sheet 加入自動計算公式 (選用)

若需要自動編號或計算,可在 Google Sheet 中加入欄位與公式:

  1. 自動編號: (假設原始資料從 B 欄開始,此欄位加在 A 欄)

    • 在 A1 儲存格輸入欄位名稱,例如「自動編號」。

    • 在 A2 儲存格輸入以下陣列公式(請注意: D2:D 和 C2:C 中的欄位字母需對應您實際有資料輸入的欄位,例如,如果時間戳記在 B 欄,產品在 C 欄,那應檢查 C 欄是否有資料 C2:C<>"",並以 row(B2:B)-1 來計算列號):

      =ARRAYFORMULA(if(D2:D<>"",row(C2:C)-1,""))

    • 說明: 此公式檢查 D 欄(可換成表單必填欄位)是否有資料,若有,則回傳該列的列號減 1 (因為標題佔一列),作為流水號。

    • 格式調整: 若顯示為日期,請將 A 欄格式設為「自動」或「純文字」。

  2. 擷取單價: (假設商品選項在 C 欄,此欄位加在 E 欄)

    • 在 E1 輸入欄位名稱,例如「單價」。

    • 在 E2 輸入以下陣列公式(請注意: C2:C 需對應商品選項的欄位,5 代表從右邊取 5 個字元 "1500元",4 代表再從左邊取 4 個數字 "1500",請依實際格式調整):

      =ARRAYFORMULA(left(right(C2:C,5),4))

  3. 計算總價: (假設數量在 D 欄,單價在 E 欄,此欄位加在 F 欄)

    • 在 F1 輸入欄位名稱,例如「總價」。

    • 在 F2 輸入以下陣列公式(請注意: D2:D 和 E2:E 需對應數量與單價的欄位):

      =ARRAYFORMULA(if(D2:D*E2:E=0,"",D2:D*E2:E))

    • 說明: 如果數量乘以單價等於 0(表示可能無資料),則留空,否則計算兩者乘積。

步驟三:加入 Google Apps Script

  1. 在 Google Sheet 中,點擊頂端選單的「工具」>「指令碼編輯器」。

  2. 將編輯器中原有的程式碼全部刪除。

  3. 複製以下提供的完整程式碼,貼到編輯器中。

  4. 修改必要參數:

    • var token = "你的LineNotify權杖";:將 "你的LineNotify權杖" 換成你申請的 Line Notify Token。(如何申請? 請參考 Line Notify 官方說明 或相關教學。)

    • var send_name = "你的商店或網站名稱";:修改成你希望 Email 寄件人顯示的名稱。

    • var subject = "表單通知";:修改成你希望 Email 的主旨。

    • email=sheet.getRange('B'+lastRow).getValue();非常重要! 程式預設從 B 欄取得要寄送 Email 的地址。請檢查你的 Google Sheet,確認 Email 地址是儲存在哪一欄,並將 'B' 修改成對應的欄位字母 (例如,若在 C 欄,則改為 'C')。

  5. 點擊上方的磁碟片圖示「儲存專案」,為專案命名(例如:「表單Email與Line通知」)。

步驟四:設定觸發條件

  1. 在指令碼編輯器左側選單,點擊鬧鐘圖示「觸發條件」。

  2. 點擊右下角的「+ 新增觸發條件」按鈕。

  3. 設定觸發條件:

    • 選擇要執行的功能:getFormData

    • 選擇應執行的部署作業:Head

    • 選取活動來源:來自試算表

    • 選取活動類型:提交表單時

  4. 點擊「儲存」。

  5. 授權: 系統會要求授權。選擇你的 Google 帳戶,可能會顯示「Google 尚未驗證這個應用程式」,請點擊「進階」,然後點擊「前往『(你命名的專案名稱)』(不安全)」,最後點擊「允許」,授予指令碼必要的權限(寄送 Email、連接外部服務、存取試算表)。

步驟五:測試

回到你的 Google 表單(預覽模式或分享連結),實際填寫並提交一次。檢查:

  • 你的 Line 是否收到通知?

  • 你填寫的 Email 是否收到確認信?

  • Google Sheet 中是否有新增資料,且自動編號、金額等是否正確?


aaa

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

【Google 表單教學】如何使用單選方格製作多項目訂購單?(含自動計算與Email通知)

您是否也曾遇過這樣的困擾?想用 Google 表單製作訂購單,但產品品項太多,特別是像點心、蛋糕這類商品,常常只是口味或尺寸上的些微差異。如果為每一個品項都建立一個問題,表單將會變得冗長不堪,讓消費者失去填寫的耐心。 今天,我們要分享一個實用的技巧,解決網友遇到的「點心蛋糕類」訂...