擺脫儲存格著色的無限循環
某個星期一早上,團隊的小型數據管理機器人嘟囔著「這東西每次都要手動著色?」
情況是這樣的。從Windows裝置進入Google試算表的訂單狀態數據(「待處理」「處理中」「完成」)需要用顏色區分。雖然用條件式格式設定做了基本設置,但要跟上實時變化的狀態值,就得每次手動重新指定範圍。
「連這種小東西也能自動化嗎?」好奇心開啟了這場實驗。
與Claude Code的相遇:5分鐘的奇蹟
打開Claude Code,提出了簡單的請求。
「可以建立一個腳本,讓Google試算表的特定欄位在新增或更新時,根據狀態值自動填入背景色嗎?」
Claude回傳的代碼令人驚訝,只有20行左右。
function autoColorStatus() {
const sheet = SpreadsheetApp.getActiveSheet();
const data = sheet.getRange('A2:F').getValues();
const statusIndex = 2; // 狀態欄位位置
for (let i = 0; i < data.length; i++) {
const status = data[i][statusIndex];
let color = '#ffffff';
if (status === '待處理') color = '#ffe6e6';
if (status === '處理中') color = '#fff4e6';
if (status === '完成') color = '#e6f3ff';
sheet.getRange(i + 2, statusIndex + 1).setBackground(color);
}
}
把這個代碼貼到試算表的App指令碼編輯器,設定觸發器為「變更時執行」後,儲存格真的開始自動著色了。
實際操作流程
第1步:打開App指令碼編輯器
在Google試算表中點選«工具» → «App指令碼»。
第2步:貼上代碼
將Claude Code提供的函數複製到編輯器中(欄位位置、狀態值、顏色需根據本身試算表調整)。
第3步:設定觸發器
在左側選單的«觸發器»中建立新觸發器。
• 函數:«autoColorStatus»
• 部署:«Head»
• 執行對象:«試算表»
• 事件:«變更時»
第4步:授權並執行
首次執行時會詢問Google帳戶存取權限,允許即可。
驚訝的3件事
第一,速度真的很快。
即使數據超過1,000列,著色也在3秒內完成。條件式格式設定的沉重感瓦解了。
第二,團隊成員問起來了。
「昨天這格是灰色的,今天怎麼變紅色了?」自動變色的景象看起來很新奇。回答「沒錯,機器人在自己著色」時,團隊的表情亮了起來。
第三,擴展非常容易。
後來狀態種類增加到5個,只需在代碼裡多加2行條件就搞定了。
初次嘗試時的失誤
• 忘記列索引從0開始計算,導致錯位一列。
• 不知道顏色值要用16進制格式(#rgb),輸入錯誤後報錯。
• 範圍設定為«A:F»無限制,結果連空白儲存格也被著色。精確的範圍指定最關鍵。
現在能做到的事
將這個模式應用,更多工作能自動化。
• 根據優先級自動調整文字粗度
• 超過期限的項目自動加刪除線
• 根據金額範圍進行多階段著色
• 按時間段定期變更背景色
最後的領悟
我們一直在尋找「複雜的自動化」。但最大的時間節省,其實來自這些「重複的小工作」。
當Google試算表的儲存格開始自動著色時,團隊正在用那段時間做更重要的事。
這才是自動化的真正意義。