割り勘の精算は2つの問題でできています
割り勘は1つの計算に見えて、実際には2段階です。1つめは各自がいくら負担すべきか(割り振り)、2つめはその差額を誰が誰に送って解消するか(送金)です。 割り振りは合計を割合で割る計算、送金は受け取る人と払う人を組み合わせる問題です。この計算機は2段階を分けて表示するので、計算を確認してから送金に移れます。
基本の式は、負担額 = 全員の支払い合計 × 自分の割合 ÷ 割合の合計、精算額 = 自分が払った額 − 負担額です。 精算額がプラスなら受け取る側、マイナスなら送る側で、全員分を足すと必ず0になります。この計算機は円単位の整数で処理するので、合計がちょうど0円になります。
割り切れないときの端数処理
1万円を3人で割ると3,333.33…円です。1円未満は送金できないので、誰かが1円多く払う必要があります。 全員を四捨五入(3,333円)にすると合計が9,999円で1円足りず、全員を切り上げ(3,334円)にすると10,002円になって2円余ります。 そこでこの計算機は、正確な負担額の小数部が大きい人から順に1円ずつ多く負担してもらい、合計をぴったり合わせます。 小数部が同じなら、多く立て替えた人が1円多く負担します。その人は元々受け取る側なので相殺され、送金の件数が増えません。
実際の場面では、1円単位の送金を面倒に感じて100円や1,000円単位で集めることも多いでしょう。下の表は、10,000円をn人で割ったときの1円単位の端数と、切り上げ単位ごとの1人あたりの額を、ページ作成時に計算したものです。
| 人数 | 正確な1人あたり | 1円単位(標準) | 100円切り上げ(超過額) | 1,000円切り上げ(超過額) |
|---|---|---|---|---|
| 3人 | 3333.33円 | 3,333円(余り1円) | 3,400円(200円) | 4,000円(2,000円) |
| 6人 | 1666.67円 | 1,666円(余り4円) | 1,700円(200円) | 2,000円(2,000円) |
| 7人 | 1428.57円 | 1,428円(余り4円) | 1,500円(500円) | 2,000円(4,000円) |
| 9人 | 1111.11円 | 1,111円(余り1円) | 1,200円(800円) | 2,000円(8,000円) |
| 11人 | 909.09円 | 909円(余り1円) | 1,000円(1,000円) | 1,000円(1,000円) |
超過額は、全員が切り上げた額を払った場合に実際の請求額を上回って集まる金額です。この計算機の切り上げモードでは、最も多く立て替えた人以外が切り上げた額を負担し、その人が差額を引き受けて合計をちょうどに合わせます。 その人の負担額が他の人より少し小さく出るのはこのためです。単位が大きく人数が多いほどこの差は広がるので、グループで合意した単位がなければ、1円単位が最も公平です。 なお、単位が大きすぎて最も多く払った人の負担額がマイナスになる場合は、より小さい単位を選ぶよう案内します。
均等割りが不公平なとき: 割合で調整
お酒を飲まなかった人、途中から参加した人、子どもなど、飲食量が大きく違う人がいると、均等割りはかえって不公平です。 そのときは人ごとに「割合」を決めて、その比率で合計を分けます。大人3人(割合1)と子ども1人(割合0.5)なら、割合の合計は3.5で、7,000円は大人1人2,000円、子ども1,000円になります。
注文した内容がバラバラなら、各自が自分で飲食した金額の合計を割合の欄にそのまま入れる方法もあります。比率だけが重要なので、金額をそのまま入れても結果は同じです。 みんなで分けた料理は、人数で割った額を各自の合計に足してから入力してください。
送金回数を減らす仕組み
精算額が0でない人がn人いれば、どんな場合でもn−1回以下の送金で終えられます。受け取る額の大きい人と払う額の大きい人を順に組み合わせる方法(貪欲法)で、この上限が保証されます。 ただし、これが常に最少とは限りません。参加者の一部だけで精算額の合計がちょうど0になるグループがあれば、その人たちだけで先に精算して送金を減らせるためです。 n人を、合計が0になるg個の独立したグループに分けられるなら、最少の送金回数はn−g回です。
たとえば精算額が+8,000円、+8,000円、+3,000円、+2,000円、−18,000円、−3,000円の6人の場合、大きい額から組み合わせると5回かかります。 しかし+3,000円と−3,000円は打ち消し合うので、この2人の間の1回で済ませ、残り4人(+8,000、+8,000、+2,000、−18,000)を3回で精算すれば、合計4回になります。 この計算機は、精算額が0でない人が16人以下なら、合計が0になる部分集合をすべて調べて最少回数を求め、17人以上のときは貪欲法(n−1回以下)で計算します。どちらの方法を使ったかは結果に表示されます。
検算済みの計算例
例1: 1人がまとめて支払った場合。3人が集まり、Aさんが8,700円を一括で支払いました。1人2,900円なので、Aさんは5,800円を受け取る側になり、BさんとCさんがそれぞれAさんに2,900円を送れば2回で終わります。1人が全額を払った場合の送金回数は、いつも(人数−1)回です。
例2: 割り切れない場合。Aさんが10,000円を支払った3人の会では、正確な1人あたりは3,333.33円です。小数部が同じなので、立て替えたAさんが1円多く負担し、Aさん3,334円、Bさん3,333円、Cさん3,333円になります。 BさんとCさんが3,333円ずつAさんに送ると、Aさんの受け取りは6,666円で、自分の負担3,334円と合わせてちょうど10,000円です。
例3: 割合を変えた場合。5人で15,000円を使い、Aさんが12,000円、Bさんが3,000円を支払いました。Dさんの割合を0.5、ほかを1にすると、割合の合計は4.5で、1人前は3,333.33円、Dさんは1,666.67円です。 切り捨てた後の余り2円は、小数部が最大のDさん(.67)に1円、次に立て替え額が最も多いAさんに1円ずつ割り当てられ、負担額はAさん3,334円、Bさん3,333円、Cさん3,333円、Dさん1,667円、Eさん3,333円(合計15,000円)になります。 送金はEさん→Aさん3,333円、Cさん→Aさん3,333円、Dさん→Aさん1,667円、Bさん→Aさん333円の4回です。
よくある間違いと注意点
- 支払っていない人を名簿から外す。1円も払っていない人も、支払い額0円で入れておかないと人数が合わず、1人あたりの金額が高く出ます。
- 1人あたりを切り上げた額から合計を作り直す。切り上げた額に人数をかけると、実際の請求額を超えます。基準は常に実際に支払った合計です。
- クーポンやポイント。特定の人のカードで支払って割引が付いたときは、実際に請求された額を入力してください。割引の恩恵を誰に配分するかは、グループで決めることです。
- サービス料・消費税・チップ。伝票に含まれている最終金額を入力します。別に払ったものは、払った人の金額に足してください。
- 複数の通貨が混ざる場合。この計算機は単一の通貨しか扱えません。先に1つの通貨に換算してから入力してください。
この道具を使うべきでない場合
会社の経費精算、共同事業の持ち分の清算、税務の申告など、法的・会計上の意味を持つ精算には使わないでください。この計算機は、友人・家族・サークルなど私的な費用分担を計算するためのもので、証憑としての効力はありません。金額が大きいときは、合計が実際の請求額と合っているか必ず確かめてください。
結果の活用方法
- 「結果をコピー」で送金内容をそのままグループチャットに貼り付ければ、全員が同じ数字を見られます。
- 少額は次回の会で相殺しようと合意する方法もあります。そのときは端数の処理を大きい単位の切り上げにすると楽です。
- 定期的な集まりなら、会費を1人に集めておいて、領収書の合計だけを一度に精算するのが、送金回数を最も減らせます。
- 旅行の費用は旅行予算計算機で事前に見積もれます。割引率や税の計算にはパーセント計算機、チップはチップ計算機が使えます。
プライバシー
入力した名前と金額はすべてブラウザ内だけで処理され、サーバーには送信されません。結果は入力値に基づく単純な計算なので、実際に送金する前に合計額を確認してください。
よくある質問
1円単位が合わないとき、誰が多く払えばいいですか?
決まったルールはなく、合意の問題です。この計算機は、正確な負担額の小数部が大きい人から1円ずつ多く負担してもらい、同じなら多く立て替えた人が負担することで、送金回数が増えないようにしています。
送金回数は本当に最少ですか?
精算額が0でない人が16人以下なら、合計が0になる部分集合をすべて調べるので最少です。17人以上は貪欲法で処理し、最少とは限りませんが(人数−1)回を超えることはありません。
注文がバラバラのときはどう入力しますか?
割合の欄に各自が飲食した金額(または比率)を入れると、その比率で合計が分けられます。みんなで分けた料理は、人数で割った額を足して入力してください。
1円も払っていない人も入力が必要ですか?
はい。支払い額を0円にして名簿に入れておくと、人数に含まれ、負担額が正しく計算されます。
割合が0の人はどうなりますか?
負担額は0円になります。その人が支払った金額があれば、全額を受け取る側として計算されます。全員の割合が0だと計算できません。
人数に上限はありますか?
上限はありません。ただし精算額が0でない人が16人を超えると、最少回数の探索ではなく近似の方法に切り替わります。