[3C]用蘋果捷徑與 Google Sheet 免費記帳吧

有鑑於最近的荷包實在是越來越瘦😭

所以想要知道我的錢錢都跑哪裡去了(◉ω◉)

但之前用了好幾個記帳軟體 (天X記帳 記帳X市)

都還是無法養成記帳的習慣

自己總結了兩個點就是 慢 & 懶

  1. 慢 : 每次消費完還要再開一個軟體 有時候還會有一些動畫 廣告
  2. 懶 : 有時候買個飲料或吃的 手上大包小包 實在懶得再去記帳

相信大家都有這種經驗 就是買個飲料後在等待時就是滑手機

寧願把時間拿去滑 IG 也不願意記帳 沒錯就是我

所以就想想個辦法 是不是能強迫自己記帳

那最後就發現蘋果的捷徑真的是很強大的功能

可以在電子支付之後強迫你記帳 ( 當然從錢包拿錢出來的就沒辦法做到完全自動化 )

但還是可以透過一些方法讓你記賬

那就來看一下怎麼實現這些功能吧

主要分兩個部分

  1. Google Sheet
  2. 蘋果捷徑

Google Sheet

相信大家都對 Google 的這個服務不陌生 就是線上版的 excel

Step 1. 先建立一個 Sheet 取個名子 (我這裡統一取記帳測試)

Step 2. 建立欄位與公式

這裡分成三個部分 支出 收入 盈餘

盈餘部分的公式 則是 SUM(H2:H)-SUM(C2:C)

也就是 全收入金額 -全支出金額

跑起來效果就是以下

當然你也可以換說明文字以及位置

注意如果有修改位置 處理記帳程式碼的地方也會需要做相對應的更換 (在後面會說明)

Step 3. 處理自動化記帳流程

接著我們要寫一段程式碼

來處理當我們發送數據來這個網頁的時候要怎麼更新這個頁面

以及我們該怎麼回傳資料

首先呢 點擊這個頁面上方 “擴充功能” -> “Apps Script”

接著會出現下方畫面

接著把以下程式碼貼入

function doPost (e) {
// 取得參數
const params = JSON.parse(e.postData.contents);
const cost = params.cost; // 花費的錢
const remark = params.remark; // 註記
const people = params.people; // 支出者
const date = new Date(); // 目前時間
const dateStr = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`; // 日期格式 2022/12/12
// 打開sheet
const SpreadSheet = SpreadsheetApp.openById('YOUR ID');
// const SpreadSheet = SpreadsheetApp.openById('1NanjDytdVcRSCCox3Onjh-Qu3-LKETucW0xf8BgZ-ZY'); // 範例
const Sheet = SpreadSheet.getSheetByName('記帳測試') // 打開要編輯的工作表
const LastRow = Sheet.getLastRow(); // 取得最後一行的行數
// 存入資訊
Sheet.getRange(LastRow+1, 2).setValue(date);
Sheet.getRange(LastRow+1, 3).setValue(cost);
Sheet.getRange(LastRow+1, 4).setValue(people);
Sheet.getRange(LastRow+1, 5).setValue(remark);

const now_money = Sheet.getRange(2, 12).getValue();
// 回傳寫入成功字串
return ContentService.createTextOutput('盈餘' + now_money);
}

這裡有幾個地方必須修改

1. Sheet ID

首先 回到你的記帳本 找到你的 ID 會在網址列上 會看到 /d/OOXXOOXOOXO/edit

我們需要的就是 OOXXOOXOOXO 的部分 “/” 斜線的部分不需要

並把它貼到 程式碼中 const SpreadSheet = SpreadsheetApp.openById(‘YOUR ID’);

YOUR ID 的部分 例如你的 ID 是 12345ABCD 則這行程式碼則會變成成以下

const SpreadSheet = SpreadsheetApp.openById('12345ABCD');

2. 欄位修改

如果有修改過欄位才需要修改這段

目前欄位的設計是 “日期” “金額” “人” “備註”

這樣做設計的

對應的程式碼是以下這段

  // 存入資訊
Sheet.getRange(LastRow+1, 2).setValue(date);
Sheet.getRange(LastRow+1, 3).setValue(cost);
Sheet.getRange(LastRow+1, 4).setValue(people);
Sheet.getRange(LastRow+1, 5).setValue(remark);

例如你想把 人放在金額前面 那程式碼的改法則會變成以下

  // 存入資訊
Sheet.getRange(LastRow+1, 2).setValue(date);
Sheet.getRange(LastRow+1, 3).setValue(people);
Sheet.getRange(LastRow+1, 4).setValue(cost);
Sheet.getRange(LastRow+1, 5).setValue(remark);

這個部分有太多種可能就不一一列舉了

Step 4. 發佈上線

這個步驟是讓等等使用 蘋果捷徑時可以發送指令到這裡來更新的最重要一步

接著會跳出要不要允許授權 記得按 ALLOW

結束後就會跳出這個畫面

代表已經部屬上線了接著就是把這個網址複製下來

等等 Apple 捷徑製作時會用到

那 Google Sheet 的部分就到這告一個段落

那接著就是剩下捷徑的製作

蘋果捷徑製作

我已經做好一個 捷徑 大家可以直接抄走

只需要更換 URL 就好 (如果你欄位都沒有變動的話)

https://www.icloud.com/shortcuts/eca40bff5466463aaf2f60cee6f1b771

我這裡還是重頭跟大家講他要怎麼做出來

Step 1. 找到捷徑這個 APP

往下拉 在搜尋欄 找捷徑

打開後會看到這個畫面

點右上角的加號 新增捷徑

記得修改個名字

接著就是新增 整個自動化記帳的流程

第一步是要求要輸入一個支出的數字 然後把它存到變數 cost

他實際跑起來的效果就是這樣

接著呢是這個品項是甚麼

實際跑起來的效果

最後也是最重要的部分 怎麼把這個東西 傳給 Google Sheet

  1. 首先把剛剛複製的那串 Google Sheet 程式碼網址貼過來 到 URL 紅框處

如果欄位有修改則要注意你等等要填入的欄位的 Key Value

這兩個地方是需要對上的 才可以正常更新欄位

最後就是執行你的捷徑拉

執行完最後你應該就可以看到你正常更新你的 google sheet 啦

並且會回報你目前的盈餘

到這裡就大功告成啦 撒花~~~~

。:.゚ヽ(*´∀`)ノ゚.:。 。:.゚ヽ(*´∀`)ノ゚.:。 。:.゚ヽ(*´∀`)ノ゚.:。

至於電子支付後怎麼強迫記帳 下一篇再來說

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端