2026年10月30日 星期五

實作:家庭記帳本:5 步驟整合公式、篩選、圖表與樞紐分析表做出每月收支表

學了這麼多 Calc 功能,卻常常「看得懂、不會用」:公式會寫,圖表會畫,但真的要自己做一份完整的表,還是不知道從哪裡開始。這一篇是 Calc 階段的總實作,我們把前面學的東西串起來,做一本家庭記帳本。

每個月只要在明細裡記一筆筆收支,月報就會自動算出收入、支出、結餘和各類別占比,還能看圖表。本文以 Windows 11 + LibreOffice 26.2 系列(採「年.月」版本編號)示範,會新增一個檔案 ledger.ods。

文中的圖片為示意圖,不是實際畫面。

小提醒:不同版本或語言設定下,選單與對話框名稱可能略有差異。若找不到文中提到的選項,可以按 Shift+Esc(或「說明」→「搜尋指令」)直接輸入關鍵字尋找。

先搞懂:做表前先規劃

觀念一:資料與報表分開。「明細」只負責一筆筆記錄,「月報」只負責統計。要記帳的時候只動明細,報表由公式自己更新。

觀念二:能下拉選就不要手打。類別固定放在一張「分類」表,明細用下拉選單選,就不會同一個類別打出好幾種寫法(第 13 篇的資料驗證)。

觀念三:統計範圍要預留空間。公式的範圍不要只框到目前最後一筆,可以預留到第 200 列。空白的儲存格不會影響加總,之後新增資料就不必再改公式。

分類 類別 類型(收入/支出) 只在這裡維護 明細 日期、類別、項目 金額、類型 每次記帳只動這裡 月報 收入、支出、結餘 各類別占比 圖表 下拉選單VLOOKUPSUMIF 資料與報表分開:分類 → 明細 → 月報

圖 1 家庭記帳本的三張工作表與資料流向(示意圖)

需求使用的功能學自
限制只能選固定類別資料驗證下拉選單第 13 篇
由類別自動帶出「收入或支出」VLOOKUP第 12 篇
算收入、支出、各類別金額SUMIF本篇(同 COUNTIF 的概念)
算占比、避免公式亂跑絕對參照 $、IF第 11 篇
看起來一目了然圓餅圖、直條圖第 14 篇
交叉驗算、找大額支出樞紐分析表、篩選第 15、13 篇

步驟一:建立檔案與「分類」表

新增一個空白試算表,存成 ledger.ods,並建立三張工作表,分別命名為「明細」「分類」「月報」。

1. 新增試算表,存檔為 ledger.ods
2. 準備三張工作表,依序重新命名為:明細、分類、月報
3. 切到「分類」工作表,輸入:
   A1:類別  B1:類型
   餐飲 支出
   交通 支出
   居家 支出
   娛樂 支出
   薪資 收入
   其他收入 收入

逐項說明:

  1. 類型只有兩種:「收入」或「支出」,後面統計會靠它分組。
  2. 排列順序:四個支出類別放前面(A2:A5),收入放後面(A6:A7),範圍就是 A2:B7。
  3. 想增加類別:日後要加「醫療」「教育」等,直接在下方補一列,並記得擴大下拉選單與公式用到的範圍。
小提醒:工作表的新增與重新命名位置,可能隨版本不同;找不到時可用「搜尋指令」查找。本篇的類別只是範例,可依自己家庭的習慣調整。

步驟二:做好「明細」,下拉選單加自動帶出類型

切到「明細」工作表,欄位是 A 日期、B 類別、C 項目、D 金額、E 類型。其中 B 欄用下拉選單選,E 欄由公式自動帶出。

1. A1:E1 依序輸入:日期、類別、項目、金額、類型
2. 選取 B2:B200 → 資料 → 有效性
   「允許」選「儲存格範圍」,來源輸入:$分類.$A$2:$A$7
3. 選取 D2:D200 → 資料 → 有效性
   「允許」選「整數」,資料「大於或等於」,最小值 0
4. 在 E2 輸入:=VLOOKUP(B2;$分類.$A$2:$B$7;2;0)
5. 先輸入下表資料到 A2:D13,再把 E2 向下填滿到 E13
6. 檢視 → 凍結儲存格 → 凍結第一列
日期類別項目金額
2026/03/01薪資三月薪資45000
2026/03/02餐飲早餐與午餐320
2026/03/03交通捷運月票1280
2026/03/05居家房租12000
2026/03/07餐飲家庭聚餐1850
2026/03/10娛樂電影560
2026/03/12居家水電瓦斯1730
2026/03/15餐飲超市採買2460
2026/03/18其他收入二手拍賣1200
2026/03/20交通加油900
2026/03/24娛樂書籍480
2026/03/28餐飲外食1120

逐項說明:

  1. 下拉選單的來源:直接指到「分類」工作表的類別欄,分類表改了,下拉選單會跟著變。
  2. 驗證範圍預留到 200 列:這樣之後新增的資料也自動受到限制。
  3. VLOOKUP 自動帶出類型:選了「薪資」,E 欄就顯示「收入」;選了「餐飲」,就顯示「支出」,不必自己判斷。
  4. 預期結果:前 12 筆資料中,薪資與其他收入顯示為「收入」,其餘顯示「支出」。
小提醒:之後新增資料時,記得把 E 欄的公式也往下複製(選取 E 欄最後一格,按 Ctrl+D 或拖曳填滿控點)。日期顯示格式會隨語言與地區設定不同,不影響計算。

步驟三:用 SUMIF 做出「月報」

切到「月報」工作表。要算「收入」「支出」,需要用到SUMIF:依條件加總。結構是 SUMIF(條件範圍;條件;加總範圍),意思是「在條件範圍裡找符合條件的列,把對應的加總範圍相加」。

A1 輸入:本月收入  B1 輸入:=SUMIF($明細.$E$2:$E$200;"收入";$明細.$D$2:$D$200)
A2 輸入:本月支出  B2 輸入:=SUMIF($明細.$E$2:$E$200;"支出";$明細.$D$2:$D$200)
A3 輸入:結餘    B3 輸入:=B1-B2
A4 輸入:儲蓄率   B4 輸入:=IF(B1=0;0;B3/B1),並設為百分比格式

A6 輸入:類別 B6 輸入:支出 C6 輸入:占比
A7:A10 依序輸入:餐飲、交通、居家、娛樂
B7 輸入:=SUMIF($明細.$B$2:$B$200;A7;$明細.$D$2:$D$200)
C7 輸入:=IF($B$2=0;0;B7/$B$2)
選取 B7:C7 向下填滿到第 10 列(C 欄設為百分比格式)

A11 輸入:合計 B11 輸入:=SUM(B7:B10) C11 輸入:=SUM(C7:C10)

逐項說明:

  1. 預期結果:本月收入 46200、本月支出 22700、結餘 23500、儲蓄率約 50.9%。
  2. 各類別支出:餐飲 5750、交通 2180、居家 13730、娛樂 1040,占比約 25.3%、9.6%、60.5%、4.6%。
  3. 驗算:B11 的合計應該等於 B2 的本月支出,不一樣就代表有類別漏算或公式範圍有誤。
  4. IF 的用意:當收入或支出是 0 時,避免除以 0 出現 #DIV/0!(第 11 篇的錯誤訊息)。
  5. $ 的位置:範圍前面的 $ 讓公式往下複製時不會移動,A7 沒有 $,所以會依序變 A8、A9、A10。
月報:總覽月報:各類別支出 項目 金額 本月收入 46,200 本月支出 22,700 結餘 23,500 儲蓄率 50.9% 類別 支出 占比 餐飲 5,750 25.3% 交通 2,180 9.6% 居家 13,730 60.5% 娛樂 1,040 4.6% 合計 22,700 100.0% 合計 22,700 與本月支出一致,就代表驗算通過

圖 2 月報工作表的版面(示意圖)

小提醒:SUMIF 的條件「收入」「支出」要和明細的文字完全一致,包含全形或半形、有沒有空白。若結果意外地是 0,先檢查這一點。跨工作表的寫法(工作表名稱加「.」)請在 26.2 繁中版實際確認。

步驟四:用圖表看清楚錢花到哪裡

數字有了,再加兩張圖,讓家人一眼看懂。

【支出占比:圓餅圖】
1. 在「月報」選取 A6:B10(類別與支出,不含合計)
2. 插入 → 圖表,類型選「圓餅圖」
3. 標題輸入:三月支出占比,按「完成」
4. 連按兩下圖表 → 插入 → 資料標籤,勾選「顯示類別」與「顯示值為百分比」

【收支比較:直條圖】
1. 選取 A1:B3(本月收入、本月支出、結餘)
2. 插入 → 圖表,類型選「直條圖」
3. 標題輸入:三月收支比較,並取消顯示圖例,按「完成」

逐項說明:

  1. 圓餅圖看比例:居家占了超過一半,立刻看出最大的支出項目。
  2. 直條圖看大小:收入、支出、結餘三根柱子,一眼就知道這個月存下多少。
  3. 不要把合計畫進去:圓餅圖選取範圍不含第 11 列,原因同第 14 篇。
  4. 圖表會連動:在明細新增資料,月報數字與圖表都會跟著更新。
三月支出占比三月收支比較 餐飲 25.3% 交通 9.6% 居家 60.5% 娛樂 4.6% 46,200收入 22,700支出 23,500結餘 左:看比例(居家最大) 右:看大小(這個月存下 23,500)

圖 3 圓餅圖看支出占比,直條圖看收支大小(示意圖)

小提醒:選取 A1:B3 時沒有標題列,圖表精靈的「第一列當標籤」之類選項要依畫面調整;若數列名稱出現「欄 B」之類的預設文字,在圖表編輯模式中改掉即可。圖表精靈的步驟名稱請發文前實際確認。

步驟五:用樞紐分析表驗算,用篩選找大額支出

公式寫完後,最好用另一種方法驗算一次。樞紐分析表正好派上用場。

【樞紐分析表驗算】
1. 在「明細」選取 A1:E13
2. 插入 → 樞紐分析表,來源選「目前選取」
3. 「類別」拖到列欄位、「類型」拖到欄欄位、「金額」拖到資料欄位(總和)
4. 比對總計:收入 46200、支出 22700,應與月報一致

【篩選大額支出】
1. 回到「明細」,點名單任一格 → 資料 → 自動篩選
2. 「類型」只勾選「支出」
3. 資料 → 更多篩選 → 標準篩選,條件:金額 大於或等於 1000
4. 預期剩 6 筆:捷運月票、房租、家庭聚餐、水電瓦斯、超市採買、外食

逐項說明:

  1. 兩種方法交叉驗算:SUMIF 與樞紐分析表算出的數字一致,就比較放心。
  2. 樞紐分析表的範圍:這裡只框到 A1:E13,新增資料後要擴大來源範圍,再按「重新整理」(第 15 篇)。
  3. 篩選找大額:這樣一眼就看到哪幾筆是「大錢」,之後想節流,就先從這幾項下手。
  4. 做完記得清除篩選:資料 → 重設篩選,免得之後新增資料時看不見。
小提醒:家庭收支資料屬於個人隱私,若要把檔案分享給別人,建議先另存一份,去掉不想公開的項目。給別人看的月報,可以匯出成 PDF(第 2 篇介紹過格式的選用)。

最後存檔:ledger.ods 就是完整的家庭記帳本,包含「明細」「分類」「月報」三張工作表、兩張圖表與驗算用的樞紐分析表。要給使用 Excel 的人,可另存 ledger.xlsx,並請用 Excel 開啟確認公式、下拉選單與圖表是否正常。

常用功能複習表

功能位置或寫法用途
資料驗證資料 → 有效性下拉選單、限制輸入
VLOOKUP=VLOOKUP(B2;$分類.$A$2:$B$7;2;0)由類別帶出類型
SUMIF=SUMIF(條件範圍;條件;加總範圍)依條件加總
IF=IF(B1=0;0;B3/B1)避免除以 0
圖表插入 → 圖表圓餅圖、直條圖
樞紐分析表插入 → 樞紐分析表交叉驗算與統計
自動篩選資料 → 自動篩選找出符合條件的明細

新手常見問題

Q1:月報的收入或支出算出來是 0?
多半是條件文字和明細不一致(全半形、空白),或 E 欄的「類型」公式沒有往下填滿。

Q2:新增了一筆資料,月報沒有變?
確認新資料在公式範圍內(本篇預留到第 200 列),也要確認新資料那一列的「類型」公式有被複製下來。

Q3:類型欄出現 #N/A?
代表類別在分類表找不到,可能是類別被手打成不同寫法。請改用下拉選單,並檢查分類表是否有該類別。

Q4:想一整年一起記,要怎麼辦?
可以在明細加一欄「月份」,用公式 =MONTH(A2) 取出月份,再用篩選或樞紐分析表依月份統計;或者每個月用一份獨立的檔案,各有優缺點,依自己的習慣選擇。

Q5:記帳本要備份嗎?
建議要。可定期把 ledger.ods 複製到雲端或外接硬碟,檔名加上日期,萬一檔案損壞還能還原。

小練習

  1. 在明細新增一筆:2026/03/30 餐飲 晚餐 600,記得複製 E 欄公式,確認餐飲變成 6350、支出變成 23300、結餘變成 22900。
  2. 在分類表新增「醫療」(支出),擴大下拉選單與公式範圍,並在月報多加一列。
  3. 用自動篩選只看「娛樂」類別,確認共 2 筆、金額合計 1040。
  4. 把圓餅圖的資料標籤改成顯示「類別與百分比」,並調整顏色,讓它更好閱讀。
  5. 把月報工作表匯出成 PDF,想想給家人看時哪些內容需要保留或隱藏。

結語

這一篇的重點有三個:資料與報表分開、能用下拉選單就不要手打、統計範圍要預留空間。把資料驗證、VLOOKUP、SUMIF、圖表、樞紐分析表和篩選串在一起,就是一本能每月反覆使用的記帳本。Calc 的基本功到這裡告一段落。

下一篇(第 17 篇)我們換到 Impress,學「Impress 投影片母片與版面配置:5 步驟做出整齊一致的簡報」,讓每一頁投影片都有統一的樣子。

沒有留言:

張貼留言