立て替えの精算計算

各人が立て替えた金額を入れると、全員で均等に負担したときの、誰が誰にいくら払えばよいかを表示します。

参加者と立て替えた金額(2〜20 人。名前は任意。金額を入れた行が参加者です)
立て替えていない人は、金額に 0 を入力してください(空欄の行は、参加者に数えません)。金額は 0〜99,999,999 円の整数です。
1 人あたりの負担額 —
立て替えの合計—
誰が誰にいくら払うか

—

    コピーされるのは、「名前 → 名前:金額 円」を 1 行ずつ並べたものです。差額は、立て替えた金額 - 負担額で、+は受け取る額、-は支払う額です。

    精算の計算方法

    1. 合計 ÷ 人数 で、1 人あたりの負担額を求めます。
    2. 各人の差額 = 立て替えた金額 - 負担額。プラスの人は受け取り、マイナスの人は支払います(差額の合計は、必ず 0 です)。
    3. 支払う人から、受け取る人へ、送金する組み合わせを求めます。

    送金は、同じ金額の組を先に 1 回で済ませ、残りを、支払う額の大きい人から、受け取る額の大きい人へ順に充てて求めます。送金の回数は、人数 - 1 回以内になります。送金回数が最小になることは、保証していません。

    端数の扱い

    合計が人数で割り切れないとき(例:1,000 円を 3 人)は、端数の円を、上の行の人から 1 円ずつ多く負担します(334 円・333 円・333 円)。負担額の合計は、必ず立て替えの合計と一致し、差額が消えたり増えたりしません。

    計算例

    A が 12,000 円、B が 3,000 円、C が 0 円を立て替えた(合計 15,000 円、3 人)。

    注意点

    よくある質問

    送金の回数は、最も少なくなりますか?

    できるだけ少なくなるように求めますが、最小回数になることは保証していません。人数 - 1 回以内に収まります。

    端数の 1 円は、誰が多く払いますか?

    上の行の人から順に、1 円ずつ多く負担します。たとえば 3 人で 1 円余るときは、1 人目だけが 1 円多く負担します。

    立て替えていない人は、どう入力しますか?

    金額に 0 を入力してください。金額が空欄の行は、参加者に数えないので、人数が減ってしまいます。