五列搞定的共享开销记账模板
这是一张可复制的五列共享记账模板,附带一个把付款清单变成结余的公式,以及表格做不到的四件事和该停下的时机。
你正打算为合租或旅行做一张表格,又更想直接复制一张现成能用的。这个念头没错。这里有一张五分钟就能重建的记账模板,一个能把付款清单变成结余的公式,以及这张表永远替你做不到的四件事。
表格在一段时间里是合适的工具。它不再合适的那一天是可以预见的,所以我们也会告诉你那一天。
为什么要复制一张记账模板
空白表格容易开始,也容易出错。多数人会多加一列,忘了某一行属于谁,或者手写一个悄悄就过时的累计总额。复制一张本身就能对平的结构,你就能跳过这一切。
电子表格几十年来一直让小团体账目清楚,而这张记账模板只是仍然管用的最小版本。如果你在分摊租约,同样的思路也藏在室友如何分摊房租之下。
五个列,以及为什么不是六个
一张共享记账表格只需要五个列:日期、事项、谁付的、金额,以及由谁分摊。每笔付款一行。这就是全部结构。
| 列 | 示例 | 用途 |
|---|---|---|
| 日期 | 2026-09-14 | 钱是什么时候动的,好让各行排序,也好让你找回那趟谁都不记得坐过的出租车。 |
| 事项 | 买菜 | 给这笔开销一个朴素的名字,比如那次拉面之夜,好让一笔结余仍是一个故事。 |
| 谁付的 | Lucas | 真正付了这笔账的那一个人。 |
| 金额 | ¥40.00 | 数字,永远带着它的货币符号。 |
| 由谁分摊 | Lucas、Aiko、Sofia、Tomas | 分摊这一行的名字,无论有多少个。 |
*五个列,以及每一列的用途。*
为什么不要第六个列?诱人的那一列是写进单元格里的累计总额,或者每个人的结余。别这么做。
存下来的总额是一个你得记着去更新的数字,而你第一次忘记时,这张表就在说谎。结余不是你保存的数据。它是你每一次都从上面五个列算出来的数据。
那个算出结余的公式
这里有个例子。四个室友,四行:
- 2026-09-14,买菜,Lucas 付了 ¥40.00,由 Lucas、Aiko、Sofia、Tomas 分摊。
- 2026-09-15,拉面之夜,Aiko 付了 ¥32.00,由 Lucas、Aiko、Sofia、Tomas 分摊。
- 2026-09-16,出租车,Sofia 付了 ¥24.00,由 Lucas、Aiko、Sofia、Tomas 分摊。
- 2026-09-17,演唱会门票,Lucas 付了 ¥50.00,由 Lucas、Aiko 分摊。
一个公式读完全部四行,返回一个人的结余:
= SUMIF(paid, name, amount) − SUMPRODUCT(ISNUMBER(SEARCH(name, shares)) * amount / sharers)
前半部分把一个人付过的全部加起来。后半部分把他名字出现的每一行里应分摊的份额加起来,用每一行的金额除以那一行分摊单元格里的名字数量。这个数量就是单元格里的逗号数加一。同样的记账方式在 Excel 里怎么用,在 Google Sheets 里就怎么用,而它正是你在公平地平分餐厅账单时手算的那件事的老实版本。
把它套到四行上,结余就出来了。Lucas 付了 ¥40.00 和 ¥50.00,也就是 ¥90.00,而他在各行里的份额是 ¥10.00、¥8.00、¥6.00 和 ¥25.00,也就是 ¥49.00。他的 ¥90.00 对上 ¥49.00,剩下 ¥41.00 是别人欠他的。Aiko 付了 ¥32.00,应分摊 ¥49.00,¥32.00 对上 ¥49.00,剩下 ¥17.00 是她欠的。
Sofia 付了 ¥24.00,分摊 ¥24.00,所以她刚好持平,是 ¥0.00。Tomas 什么也没付,分摊 ¥24.00,所以他欠 ¥24.00。Aiko 的 ¥17.00 加上 Tomas 的 ¥24.00,正好加回到别人欠 Lucas 的 ¥41.00。这张表对平到零,因为有人欠出的每一元,都是另一个人被欠的一元。
如何处理四人中只有两人分摊的一笔账
看看演唱会门票。Lucas 付了 ¥50.00,但只有 Lucas 和 Aiko 去了。这正是第五列存在的原因。在由谁分摊那个单元格里,你只写他们两个人的名字,于是公式把 ¥50.00 除以二,而不是四。
他们每人承担 ¥25.00,Sofia 和 Tomas 在那一行什么都不承担。改一改那一个单元格里的名字,整个结余就会更新。这是很日常的情况,比如合租里一半人没去的那顿晚饭,而它正是和大家结清背后的算术。
表格做不到的四件事
把它做对,它就会帮到你。它也会在四个具体的地方停下来。
第一,保留历史的修改。在单元格里把 ¥40.00 改成 ¥45.00,旧数字就没了。没有任何记录说它曾经是 ¥40.00,也没有记录说它为什么变了。这与只追加的账本正好相反,在那里更正是一条新记录,这也是为什么我们主张修改必须重述它的分摊,而不是覆盖它。
第二,两种货币。一个金额列无法知道 ¥40.00 和 $30.00 是不同的钱。把它们加起来,你得到的是一个毫无意义的数字。货币由 ISO 4217 精确定义,而一张普通的表格把它们当成同一种,这是钱的算术出错里较为隐蔽的一种。
第三,用最少的转账来结清。你的表格给出结余。它不会告诉 Tomas 和 Aiko 谁该把钱转给谁,好让这群人用尽可能少的付款结清。那最后一步本身就是一个小问题,值得好好做。
第四,让别人也能核对。一个人拥有这个文件,编辑这个文件,其他所有人都信任这个文件。复式记账系统把每一笔金额记录两次,好让第二个人可以核实它,而表格做不到,这也是为什么人们最终会去比较这些应用。
什么时候该停下
在这张表回答不了一个公平问题的那一天停下。当有人出行、第二种货币出现时,当一个数字变了而你想要回旧的那个时,或者当这群人大到共享账单背后的数字开始变得重要、一个拥有者已经不够时,你的合租就超出了一张室友记账表的承受范围。那些日子是可以预见的,而当它们到来时,老实的做法是换一个为此打造的工具,分摊房租的应用也是同理。
我们记录谁付了、谁欠着,我们按货币分别保留结余,我们从不转移或保管你的钱。当你的表格到了它的极限,Dimesum 会正好从它停下的地方接手。
常见问题
怎么用Excel做一个共享记账表?
新建一张空白表,加五个列:日期、事项、谁付的、金额,以及由谁分摊。每笔付款填一行。然后加一小块结余区域,用 SUMIF 和 SUMPRODUCT 公式,把每个人付出的钱减去他所在各行里应分摊的份额。整个搭建就是这些,在 Google Sheets 里做法一样。
共享记账表格需要哪些列?
五个。日期告诉你时间。事项给这笔开销起名字,比如那次拉面之夜。谁付的记下这一行唯一的付款人。金额里放数字并带上货币符号,比如 ¥40.00。由谁分摊列出分摊这一行的名字。第六列放累计总额,你第一次忘记更新它时它就过时了,所以让公式去算结余吧。
怎么从一串开销里算出每个人的结余?
对每个人,先把他付出的一切加起来。再把他名字出现的每一行里应分摊的份额加起来,用每一行的金额除以分摊的名字数量。用第一个总额减去第二个。结果为正,说明这群人欠他钱;为负,说明他欠这群人。所有结余相加应当为零。
表格能处理两种货币吗?
单靠它自己不行。一个金额列无法知道 ¥40.00 和 $30.00 是不同的钱,于是它会把它们加成一个毫无意义的总额。你可以加一个货币列,手动为每种货币分别记一份结余,但表格不会替你换算,也不会替你把它们分开。那份活儿还是你的。
什么时候该不再用表格记共享开销?
在表格回答不了一个公平问题的那天停下。当一个数字变了而你需要拿回旧值时,当第二种货币出现时,当你想用最少的转账来结清时,或者当别人想核对这笔账时,表格就到了它的边界。这四种需要往往会一起到来,比你预想的要早。
热门文章
- 只增账本让分摊余额保持精确阅读约 6 分钟
- 为什么编辑共享支出必须重述分摊阅读约 5 分钟
- 多币种分账中的六个金额缺陷阅读约 6 分钟
- 结清账目:用更少的转账清理团体开销阅读约 6 分钟
- 如何分摊有一道菜没有共享的分项账单阅读约 6 分钟