筆者在多篇文章中都提到記帳的重要性,可惜市面上許多記帳軟體,不僅需要花時間熟悉其複雜的操作介面、進階功能,還常常需要額外付費購買更多功能。這讓許多人望而卻步。今天,我就要分享一個簡便且跨平台的記帳方法:利用 Google 日曆和 Google 試算表來完成記帳與統計!
為什麼選擇這種方法?
- 簡單易用:只需要 Google 帳號,就能隨時在雲端進行記帳。
- 跨平台:無論是在手機、平板或電腦,都能隨時記錄與查閱。
- 完全免費:免除昂貴軟體的費用與繁瑣設定。
- 高度自訂:你可以根據自己的需求,藉由 Apps Script 自動化統計、繪製圖表,甚至加入收入資訊!
操作流程
1. 在 Google 日曆中建立專屬的「消費」日曆
- 步驟一:進入 Google 日曆,打開設定選單。

步驟二:新增一個新的日曆,命名為「消費」。


這樣我們每次消費就可以記錄在google日曆上了
2. 利用 Google 試算表進行消費統計
- 步驟一:在 Google 雲端硬碟中,建立一個新的 Google 試算表。

步驟二:在試算表中,點選【擴充功能】→【Apps Script】,進入程式碼編輯介面。

步驟三:將以下程式碼貼入,並依據提示填入所需資訊(例如:年份與日曆 ID,這可以在日曆設定中找到)。
function exportCalendarEvents() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var monthNames = [
"一月份",
"二月份",
"三月份",
"四月份",
"五月份",
"六月份",
"七月份",
"八月份",
"九月份",
"十月份",
"十一月份",
"十二月份",
];
var year = 2025; //<---填入試算的年份
var calendarId = "xxxx@group.calendar.google.com"; //<---填入試算的日曆ID
var calendar = CalendarApp.getCalendarById(calendarId);
// 預設禮拜一至禮拜五的背景顏色(getDay() 回傳:0=日, 1=一, ..., 5=五, 6=六)
var weekdayColors = {
0:"#DEA35D",
1: "#8D5DDE",
2: "#5DDE77",
3: "#6A9E74",
4: "#897967",
5: "#746789",
6:"#535E55"
};
for (var m = 0; m < 12; m++) {
var startTime = new Date(year, m, 1);
var endTime = new Date(year, m + 1, 0);
var events = calendar.getEvents(startTime, endTime);
var sheetName = monthNames[m];
var sheet = ss.getSheetByName(sheetName) || ss.insertSheet(sheetName);
sheet.clearContents();
// 表頭:開始時間、結束時間、星期、項目、價格、描述
sheet.appendRow(["開始時間", "結束時間", "星期", "項目", "價格", "描述"]);
var total = 0;
// 逐筆寫入事件
events.forEach(function (event) {
// 標題格式預設為「項目 價格」
var parts = event.getTitle().split(" ");
var item = parts[0] || "";
var cost = parts[1] || "0";
var start = event.getStartTime();
var end = event.getEndTime();
var day = start.getDay();
switch (day) {
case 0:
day = "星期日";
break;
case 1:
day = "星期一";
break;
case 2:
day = "星期二";
break;
case 3:
day = "星期三";
break;
case 4:
day = "星期四";
break;
case 5:
day = "星期五";
break;
case 6:
day = "星期六";
break;
}
sheet.appendRow([start, end, day, item, cost, event.getDescription()]);
total += Number(cost);
});
// 取得目前資料列數(表頭除外)
var lastRow = sheet.getLastRow();
if (lastRow > 1) {
// 設定第一、二欄的日期格式為「MM-dd HH:mm」
sheet.getRange(2, 1, lastRow - 1, 2).setNumberFormat("MM-dd HH:mm");
// 根據第一欄(開始時間)的日期,若為禮拜一至五則設定背景色
for (var r = 2; r <= lastRow; r++) {
var date = sheet.getRange(r, 1).getValue();
if (date instanceof Date) {
var day = date.getDay();
var color = weekdayColors[day];
sheet.getRange(r, 1, 1, sheet.getLastColumn()).setBackground(color);
}
}
}
// 在最後附加一列總計
sheet.appendRow(["", "", "", "", total]);
}
}
日曆 ID,在日曆設定中的位置

步驟四:儲存程式碼後,點選【執行】按鈕,Apps Script 就會自動讀取你指定期間內「消費」日曆的所有事件,並將資料匯入試算表中,完成記帳資料的統計。

步驟五:就可以得到計算出來的記帳表了

3. 利用統計資料進行後續應用
- 自動化與部署:你可以將 Apps Script 以部署方式儲存,甚至設定點擊試算表時自動觸發統計更新。
- 數據視覺化:利用試算表內建的圖表功能,直觀呈現你的消費走勢與分類統計。
- 延伸應用:若有需要,也可以加入收入記錄或其他財務數據,甚至讓 ChatGPT 協助你撰寫更複雜的統計程式碼。
為什麼這樣做更好?
- 高度自動化:只要記錄消費,統計功能便能一鍵生成,不再需要額外的繁瑣操作。
- 跨平台便利性:Google 的雲端服務隨時隨地皆可存取,手機、電腦無縫切換。
- 自由客製化:依照個人需求,輕鬆增減功能,例如新增收入資訊、建立更多圖表或與其他理財工具整合。
- 掌握消費習慣:透過數據統計,了解自己的每月消費結構,進而更有效地控制支出,養成良好的財務習慣。
結語
記帳是理財成功的基石,而這個利用 Google 日曆與試算表的跨平台記帳方式,能夠簡化操作流程,省卻繁瑣的設定與額外花費。只要你開始養成記帳習慣,並定期透過這套系統檢視數據,就能更清楚地掌握自己的消費狀況,進而改善理財策略。希望這篇文章能夠幫助你更輕鬆地進行記帳,開啟更健康的財務生活!