dimesum

首页 / 博客 / 金钱

金钱

五列搞定的共享开销记账模板

· 阅读约 6 分钟 · · 审阅 Jagadeep Sai

这是一张可复制的五列共享记账模板,附带一个把付款清单变成结余的公式,以及表格做不到的四件事和该停下的时机。

你正打算为合租或旅行做一张表格,又更想直接复制一张现成能用的。这个念头没错。这里有一张五分钟就能重建的记账模板,一个能把付款清单变成结余的公式,以及这张表永远替你做不到的四件事。

表格在一段时间里是合适的工具。它不再合适的那一天是可以预见的,所以我们也会告诉你那一天。

为什么要复制一张记账模板

空白表格容易开始,也容易出错。多数人会多加一列,忘了某一行属于谁,或者手写一个悄悄就过时的累计总额。复制一张本身就能对平的结构,你就能跳过这一切。

电子表格几十年来一直让小团体账目清楚,而这张记账模板只是仍然管用的最小版本。如果你在分摊租约,同样的思路也藏在室友如何分摊房租之下。

五个列,以及为什么不是六个

一张共享记账表格只需要五个列:日期、事项、谁付的、金额,以及由谁分摊。每笔付款一行。这就是全部结构。

五个列,以及每一列的用途
示例用途
日期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 是不同的钱,于是它会把它们加成一个毫无意义的总额。你可以加一个货币列,手动为每种货币分别记一份结余,但表格不会替你换算,也不会替你把它们分开。那份活儿还是你的。

什么时候该不再用表格记共享开销?

在表格回答不了一个公平问题的那天停下。当一个数字变了而你需要拿回旧值时,当第二种货币出现时,当你想用最少的转账来结清时,或者当别人想核对这笔账时,表格就到了它的边界。这四种需要往往会一起到来,比你预想的要早。