2011/05/29

讓 Google Docs 幫你輕鬆記帳

由於 Google Docs 操作簡單,再加上還可以自己寫 query 撈資料,放棄自己寫的工具全部丟到上面跑了。

個人記帳大概只用到輸入、列表、月支出、類別支出幾項功能,Google Docs 的試算表、問卷功能、Visualization API 幾個功能剛好滿足需求,拼拼湊湊大致就有個陽春的介面可以用哩。

新增「表單」,利用寫問卷的方式輸入資料。



依照自己習慣的填寫方式建立表單,建立完成後記得將網頁底下的網頁連結記下,以後記帳就是連到這個網址。當然,網址不要給別人看到,不然其他人會幫你花錢 XD。

回到 Google Docs 列表會看到剛剛建立的表單,點一下會以試算表的方式打開,如果有輸入資料的話大概會長得類似下面那樣,有特別注意的話應該會看到 Google 另外多放了一個「時間戳記」欄位,這個欄位會紀錄新增資料的時間。



接下來從左下角新增一個工作表,新增的工作表專門做來做資料統計。

與 Excel 的用法類似,在儲存格中以等號開始就會當作運算指令處理資料,例如針對剛剛建立的表單輸入:「=sum( B:B )」則會顯示總支出金額。

Google Docs 提供的 Visualization API 功能,能讓使用者用類似 SQL 的語法把試算表當作一個資料表操作,「按月計算支出」以及「統計各類別的支出金額」語法會稍微複雜一點,不過大概同一個格式複製貼上,改一改欄位名稱就可以用了。

Query 語法分成二部份,第一部份為指令資料範圍,第二部份查詢條件,二部份由分號「;」隔開。第一部份要告知需要處理的資料範圍,若需要存取不同工作表的資料需要加上工作表名稱。查詢條件需使用雙引號「"」將語法包起來,以下語法是利用欄位 A 的時間戳記將資料以「月」分開加總,可以得到每個月的支出總和。如果欄位不一樣,記得更換一下代號。
=query('工作表1'!A:B; "select year(A), month(A) , sum(B) group by year(A), month(A) order by year(A) desc, month(A) desc ")



按照類別統計支出金額感覺上簡單很多。
=query('工作表1'!B:C; "select (C), sum(B) group by C order by sum(B) desc ")


最後,若要繪製統計圖表,將要用來繪圖的資料區塊選取後,點選「插入圖表」按鈕即可。





相關資料:Google Visualization API Query Language
http://code.google.com/intl/zh-TW/apis/chart/interactive/docs/querylanguage.html

2 則留言:

  1. 您好,不好意思想請教您關於表單統計的問題
    我想讓google表單填入的數字能在試算表中自動統計
    Ex:
    第一天我在問題一填入2
    在問題二填入3
    在問題三填入2後送出
    假設試算表將會有欄位A2=2 B2=3 C2=2
    欲在D欄自動產生A+B+C的統計(2+3+2)
    因此D2欄位為=SUM(A2:C2)
    以此類推希望D3 D4 D5.....皆為A3+B3+C3、A4+B4+C4.......等
    嘗試在D2右下角鼠標為十字時直接往D3 D4....下拉
    但試算表卻出現了訊息
    "抱歉
    這項作業會更改這個表格結構,因此不受系統支援。"
    http://i.imgur.com/TQwZZXt.png
    請問要怎麼處理呢?非常感謝您

    回覆刪除
  2. 你好

    照上述的方法建立表單,在右方欄位計算加總並複製算式至下方欄位,但並沒有出現像您說得錯誤訊息。

    http://imgur.com/m6jrEX7

    另外發現會因為表單新的資料而使加總算式被往下推 (第 4 列),可能沒辦法達到你要得效果。

    回覆刪除