夜雨聆风学习资料网

ARTICLE · 1153708

「我这个月的钱花哪了?」——用 Excel 和 Python 各算一遍

「我这个月的钱花哪了?」——用 Excel 和 Python 各算一遍

到了月底,很多人都会冒出一句:钱呢?与其发愁,不如拿一个月的记账数据动手算一遍。这篇文章用同一个问题,把 Excel 和 Python 两条路各走一遍——你会发现,它们其实没那么对立,而是各有各的顺手。

一、先看数据

假设我把 9 月的开销记成一张表,三个字段:日期、类别、金额。节选几行看看:

日期
类别
金额(元)
2026-09-02
餐饮
32
2026-09-03
交通
6
2026-09-06
购物
199
2026-09-10
娱乐
88
2026-09-16
日用
89
2026-09-27
餐饮
74

……整月共 18 笔(本文文末附完整示例数据,可下载)。

我们想知道三件事:总共花了多少、钱主要花在哪一类、餐饮占了几成。

二、用 Excel 算

① 看总账:在空白格输入 =SUM(C2:C19),回车得 1043;笔数用 =COUNTA(C2:C19) 得 18。

② 分类合计:=SUMIF(B:B,"餐饮",C:C) 得 431。五类各写一格,就有了每类总额。

③ 占比:=431/1043,把单元格设为百分比 → 41.3%。

④ 嫌公式麻烦?用数据透视表:选中数据 →「插入」→「数据透视表」→ 把“类别”拖到【行】、“金额”拖到【值】(求和)——一次就拖出全部结果。

⑤ 找重点 / 出图:对结果列降序排序,或用条件格式把大额标红;选中汇总结果 →「插入」→ 条形图,一张“钱花在哪”的图就出来了。

三、用 Python 算

同一份表,换成 Python(pandas),只要几行:

import pandas as pd

df = pd.read_excel("记账.xlsx")        # 读同一份表

# 1. 分类合计,并按金额从高到低排
by_cat = df.groupby("类别")["金额"].sum().sort_values(ascending=False)
print(by_cat)

# 2. 总账与笔数
total = df["金额"].sum()
print("合计:", total, "元 ·", len(df), "笔")

# 3. 餐饮占比
print("餐饮占比:", round(by_cat["餐饮"] / total * 100, 1), "%")

输出:

类别
餐饮    431
购物    328
娱乐    133
日用    125
交通     26
合计: 1043 元 · 18 笔
餐饮占比: 41.3 %

想要图,再加一行 by_cat.plot(kind="barh") 就行:

图 · 9 月分类支出(示例数据)
四、同一件事,两种做法对照
想做的事
Excel
Python(pandas)
求和
=SUM()
df["金额"].sum()
分类汇总
数据透视表 / SUMIF
groupby().sum()
排序找最大
排序按钮
sort_values()
占比
单元格除法
除法 / value_counts
出图
插入图表
matplotlib
每月重跑
手动来一遍
一个脚本,一键复现
【干货内核】到底该用 Excel 还是 Python?
1. 一次性、数据小(几千行以内)、要快速看或发给同事 → 直接上 Excel。
2. 重复性(比如每月跑一次)、数据大 / 多文件、要自动化、要可复现 → 用 Python。
3. 口诀:一次性看数用 Excel,成规模复用用 Python。
4. 别二选一:两者能读同一份文件。最省力的路径是"Excel 入门看懂数据 → Python 接力批量处理"。

今天问你:你最近被哪件"算账 / 统计"的琐事卡住过?你更想用 Excel 还是 Python?

相关学习资料