想把重複的Google Sheets試算表工作自動化,用ChatGPT就可以快速生出可用的Apps Script程式碼,相較於手動編寫、錄製巨集,使用生成式AI的技術門檻最低!作者分享2個範例,並提醒用AI生成Apps Script程式碼的Prompting技巧。本文節錄自《AI 加持!Google Sheets 超級工作流》。
文/杜昕 Mic Tu
本文目錄(點擊可快速前往)
Google Apps Script(以下簡稱Apps Script)是一個強大的雲端腳本語言,讓使用者能透過類似JavaScript的程式碼整合Google的試算表、文件、簡報、日曆等功能,自動化重複性的工作,完全免費且不需要安裝任何開發環境即可完成。
若要在Google Sheets中使用Apps Script,只要點選「擴充功能 → Apps Script」進入Apps Script的編輯器介面,便能開始撰寫程式。
撰寫Apps Script程式碼的方式可分成手動編寫、錄製巨集、使用生成式AI 3種,優缺點分別如下:
| 撰寫方式 | 優點 | 缺點 |
|---|---|---|
| 手動編寫 | 完全根據需求客製化程度高。 | 需要花較多的時間學習與實際撰寫。 |
| 錄製巨集 | 錄製後自動生成程式碼,只需根據需求手動調整即可。 | 錄製的程式碼較基本,複雜的需求可能要大幅的手動調整,因此仍需具備程式基礎。 |
| 使用生成式AI | 可直接複製貼上生成的程式碼,大幅提高撰寫效率,也能解決較複雜的案例。 撰寫程式碼時會備註各程式碼的用途,可供快速學習。 | 較冷門的需求可能會回答錯誤,若要提升生成品質則會需要訂閱。 有時程式碼較冗餘,影響執行效能與可閱讀性。 |
雖然3種方式皆有優缺點,但使用生成式AI需要的時間、技術門檻最低,因此後續各章節主要會使用ChatGPT生成程式碼,提供輸入的Prompt及對應的輸出。
本節將使用兩個範例說明如何使用ChatGPT生成程式碼,只要將程式碼複製到Apps Script中並執行函式即可,兩範例的需求、Prompt與ChatGPT (4o mini)生成程式碼如下:
本節範例使用之「會員資料檔」Google Sheets

需求:統計會員資料檔中的會員職業,各職業依會員數多到少排序。
問:
生成Apps Script程式碼,統計工作表「會員資料檔」的 E2:E 每個值出現的次數,依次數由高到低輸出到工作表「5.4.3 使用生成式 AI 生成程式碼」的 A:B 中,並將兩欄的標題分別設為「職業」和「會員數」。
ChatGPT輸出結果(以下為作者撰寫時生成之版本,每次生成可能有些許差異,請各位讀者稍加留意):


需求:延續上例,將統計結果繪製成柱狀圖。
問:
生成Apps Script程式碼,將工作表「5.4.3 使用生成式AI生成程式碼」的 A2:B 繪製成柱狀圖,兩欄分別為「職業」和「會員數」,並貼上至工作表的 C1 儲存格中。
ChatGPT 輸出結果:

兩範例的最終結果如下圖所示:

在撰寫Prompt時要清楚描述需求,以增加生成式AI正確的機率,可以使用以下的Prompting架構增加正確輸出的機率:
問:
(1) 生成Apps Script程式碼,(2) 完成以下步驟:
1. (3) 將工作表「○○○」的 ○○:○○ 儲存格 (4) 匯總 / 繪製圖表 / 計算...,其中 A / B / C 欄位依序為 △△△ / △△△ / △△△…。
2. 將 …
3. 將 …,(3) 把最終結果輸出至工作表「○○○」的 ○○ 儲存格。
(1) 在一開始就提及Apps Script,避免AI輸出其他程式語言。
(2) 若要求非常複雜時,建議化為多個步驟,或是分多次Prompt漸進式說明。
(3) 清楚說明資料來源與最終輸出的位置,提及「工作表/儲存格/範圍/欄/列」避免判斷錯誤,並建議用括號標示工作表名稱。
(4) 說明計算過程時可以說明應用場景,但要說明各欄位的名稱,避免判斷錯誤。若欄位的名稱較難判斷資料型態時,可以增加舉例說明。

節錄自:旗標《AI 加持!Google Sheets 超級工作流》/杜昕 Mic Tu 著
推薦閱讀: