旅行结束后谁欠谁多少钱?AA 算账的三步法(附例子)
算谁欠谁:先给每个人算出一个净余额(已付减去应摊),再让欠得最多的人付给被欠得最多的人,重复到所有人归零。
旅行结束了。大家都回了家,照片也发进了群里,随之而来的还有没人想手算的那个问题:到底谁该给谁多少钱?小雅付了民宿,阿伟付了租车,莉莉付了一顿晚饭,子豪没去那顿晚饭,却买了一大堆吃的。在脑子里加,不出一分钟就会乱。
有一个方法永远管用,只需要减法,而且不管谁来算,答案都一样。算谁欠谁,先把每个人付出的钱和他应摊的份额各自加起来,相减得到每人一个净余额。所有净余额之和永远是零。然后让欠得最多的人付给被欠得最多的人,重复,直到每个人归零。
AA 算账,先从一张清单开始
每一笔共同支出,你需要知道四件事:这是什么、谁付的、付了多少、谁分摊。最后一列最容易被忘记。有个朋友没去的那顿晚饭,不是五个人分;只有三个人坐的游船,也不是全组分。
把它们写在同一个地方:备忘录、表格,或者一个 App。如果支出涉及不同的币种,先把每一笔换成同一种货币,用付款当时适用的汇率;跨币种分摊账单解释了为什么。
第 1 步:算出每个人的应摊份额
对每一笔支出,在分享它的人之间分。大多数旅行开销在这些人之间均分,不过同一个方法也适用于任何分法:指定金额、百分比或份数,分摊开支的五种方式里都有。关键在于,每笔支出的各份加起来要等于这笔钱。
然后,对每个人,把他在整趟旅行里的各份加起来,这就是这趟旅行花了他多少。
第 2 步:净余额 = 已付 − 应摊
对每个人,把他替大家付的钱全部加起来,再减去他的应摊总额:
净余额 = 已付总额 − 应摊总额
正数表示大家欠他钱,负数表示他欠大家,零表示他已经两清。
现在检查一下:**所有余额加起来必须正好是零。**每一元有人付了,就是有人的一份,所以付出的总额和所有份额的总额是同一个数。如果加起来不是零,就是哪笔支出或哪一份错了,没改好之前不要结算。
第 3 步:让欠得最多的人付给被欠得最多的人
这就是“谁欠谁”的计算本身,也是真正把群里的账结清的一步:
- 找出余额最负的人和余额最正的人。
- 欠款的人付给被欠的人两个数里较小的那个。至少有一个人因此归零。
- 用剩下的人重复,直到每个余额都是零。
每笔转账至少让一个人归零,所以 n 个人的群最多需要 n − 1 笔转账。这样为什么行得通、为什么钱可能要付给一个从没替你付过钱的人,债务简化是怎么运作的里讲了。下面是实际操作。
算一笔账:厦门之行结束后谁欠谁
小雅、阿伟、莉莉、子豪和欣怡去厦门玩了个长周末。欣怡晚到一天,错过了第一天的自驾;子豪没吃海鲜晚餐;只有小雅、莉莉和欣怡坐了游船。
| 支出 | 付款人 | 金额 | 分摊的人 | 每人份额 |
|---|---|---|---|---|
| 民宿,3 晚 | 小雅 | 3,750 元 | 五人 | 750 元 |
| 租车和油费 | 阿伟 | 1,600 元 | 小雅、阿伟、莉莉、子豪 | 400 元 |
| 海鲜晚餐 | 莉莉 | 1,300 元 | 小雅、阿伟、莉莉、欣怡 | 325 元 |
| 买吃的 | 子豪 | 750 元 | 五人 | 150 元 |
| 游船 | 欣怡 | 825 元 | 小雅、莉莉、欣怡 | 275 元 |
| 景点门票 | 阿伟 | 375 元 | 五人 | 75 元 |
| 合计 | 8,600 元 |
**第 1 步和第 2 步一起算。**小雅的份额是 750 + 400 + 325 + 150 + 275 + 75 = 1,975 元。子豪的是 750 + 400 + 150 + 75 = 1,375 元,因为他没吃那顿晚餐,也没坐游船。其他人同样算下来:
| 人 | 已付 | 应摊 | 净余额 |
|---|---|---|---|
| 小雅 | 3,750 元 | 1,975 元 | +1,775 元 |
| 阿伟 | 1,975 元 | 1,700 元 | +275 元 |
| 莉莉 | 1,300 元 | 1,975 元 | −675 元 |
| 子豪 | 750 元 | 1,375 元 | −625 元 |
| 欣怡 | 825 元 | 1,575 元 | −750 元 |
| 合计 | 8,600 元 | 8,600 元 | 0 元 |
检查:1,775 + 275 − 675 − 625 − 750 = 0。小雅和阿伟合计被欠 2,050 元,莉莉、子豪和欣怡正好欠 2,050 元。
**第 3 步。**欣怡欠得最多(−750 元),小雅被欠得最多(+1,775 元):欣怡付给小雅 750 元,小雅还被欠 1,025 元。接着莉莉(−675 元)付给小雅 675 元;小雅还被欠 350 元。轮到子豪(−625 元),小雅仍是最大的债权人:子豪付给小雅 350 元,子豪还剩 −275 元。现在只有阿伟还被欠着:子豪付给阿伟 275 元。
四笔转账,每个人都归零。如果写成一张张单独的欠条,从每个分摊了某笔支出的人到付款的人,这趟旅行有二十张欠条,把每一对朋友之间互相抵销以后,也还有十张。
普通方法比最少笔数多出转账的时候
“最大配最大”快,而且从不需要超过 n − 1 笔转账,但它可能错过更短的路。假设五个朋友的余额是:阿杰 +200 元,小凯 +150 元,乐乐 −100 元,美琪 −100 元,小诺 −150 元。
最大配最大要四笔:小诺付给阿杰 150 元,乐乐付给小凯 100 元,美琪还得付给小凯 50 元、付给阿杰 50 元。但小诺欠的钱恰好等于小凯被欠的钱。先把他们配成一对,剩下的就简单了:小诺付给小凯 150 元,乐乐付给阿杰 100 元,美琪付给阿杰 100 元。三笔转账。
所以在第 3 步之前,先找有没有恰好吻合的组合,也就是某个欠款人欠的钱正好等于某个债权人被欠的钱,先把这些对子结掉。在朋友的小群里,这一个检查通常就能走到最少的转账笔数。
会让计算出错的几个错误
- **把付款人从他自己付的那笔里漏掉。**小雅付了民宿,但她也住了;她那 750 元的份额要算。
- **所有东西都在所有人之间分。**没去那顿晚饭的人,在那一笔里的份额应该是零,而不是五分之一。
- **把还款记成一笔新支出。**两个朋友之间的转账只改变这两个人的余额,它不是大家共摊的费用。
- **在加起来不是零的总数上结算。**先把清单改对。
转账列出来以后,转钱是容易的部分;怎么开口,结清账目时怎么不尴尬讲了。
Donget 在其中的位置
每当有人添加一笔支出,Donget 就把这三步做一遍。付钱的人设好付款人,选出谁分摊,分法有均分、金额、百分比或乘数,没去那顿晚饭的人直接不选就行。余额页签显示每个成员的净额,合计已经是零。支出可以用任何币种,并按每笔上保存的汇率换算成群组的货币。
最后,结算给出最少的转账笔数,把债务合并起来,所以你付钱的对象可能不是替你付过钱的那个人,已付把每笔转账在发生时记下。App 不转钱,它只保存一份人人都能核对的清单,而记清谁欠我钱说的也就是这回事。如果你还在挑 App,旅行分账 App 哪个好把选项摆了出来。
常见问题
旅行结束后怎么算谁欠谁多少钱?
把每一笔支出连同付款人和分摊的人列出来。对每个人,用已付的钱减去应摊总额得到净余额。然后让欠得最多的人付给被欠得最多的人,重复到所有人归零。
朋友没有全程参加,费用怎么分?
每笔支出只在分享它的人之间分。没去那顿晚饭的朋友在那一笔里份额是零;他的净余额仍然是已付减去实际承担的份额。
为什么所有人的余额加起来永远是零?
每一元有人付了,就是有人的一份,所以付出的总额等于份额的总额。如果余额加起来不是零,说明有笔支出录错了,或者漏了一份。
一个群组最多需要几笔转账才能结清?
最多比余额不为零的人数少一笔。五个朋友最多四笔转账,常常更少。
我一定要还给替我付过钱的那个人吗?
不一定。只有你的净余额算数,所以你可能要付给一个从没替你付过钱的人。两种方式下你最后领先或落后的数目是一样的。
如果大家用不同的币种付款怎么办?
先把每笔支出都换算成同一种货币,按付款当时适用的汇率,然后再走同样的三步。
结论
算谁欠谁就三步:份额、净余额,然后从欠得最多的人配到被欠得最多的人。付款前先检查余额之和是不是零,先找恰好吻合的组合,五个人的群四笔或更少的转账就能结清。
免费下载 Donget,趁旅行还在继续,让余额自己加起来。