tatsu456

割り勘の計算は、足す順序で金額が変わる

最終更新 2026年8月31日

会計を終えて、その場で1人分を出す。ところがレシートの合計と数十円ずれる、同じ数字を入れたのに別のアプリだと答えが違う、精算のあとで1人だけ端数を多く払っている——割り勘でよく起きるこの手のずれは、計算間違いではなく足す順序の違いであることがほとんどです。

税、チップ、カード手数料、自分用の買い物、誰かの立て替え。会計に混ざるこれらを「どの土台に、どの順で乗せるか」で結果は変わります。ここでは割り勘アプリ SplitBill_EX の計算式を材料に、順序が効く場面と効かない場面を切り分けます。式そのものの話なので、電卓や表計算で割り勘する場合にもそのまま当てはまります。

同じ料率でも、どこに乗せるかで答えが変わる
自分用の買い物を抜くと、その分の税も一緒に抜ける
立て替えは頭数で割らない
誰が誰に払うかは、金額が決まっても一通りではない
途中で丸めないほうが、最後に合う
為替は入力した時点で固まらない
早見表

同じ料率でも、どこに乗せるかで答えが変わる

1,000円の会計に外税10%とチップ20%が付くとします。税もチップも税抜きの1,000円に並べて掛ければ、100円と200円で合計1,300円。チップを税込みの1,100円に重ねると220円になり、合計は1,320円です。料率はどちらも同じなのに、20円ずれます。

このアプリは前者、つまり税とチップを同じ土台に並べて掛け、チップには税をかけない方式です。一方で「クレカ(換金)手数料」だけは、税とチップを両方乗せたあとの合計に掛けます。カード会社が実際に請求する順序に合わせているためで、チップなしの1,000円・外税10%・カード3%なら、3%は1,100円に掛かって33円、合計1,133円。チップが付いていれば、その手数料はチップ分にも掛かります。なお、カード手数料と両替手数料は同じ土台に同じように掛かり、明細でも1行で届くことが多いため、このアプリでは1項目に統合されています。

ここで大事なのは、パーセント同士なら順序は結果を変えないということです。10%を掛けてから3%を掛けても、3%を掛けてから10%を掛けても1,133円。掛け算は順番を入れ替えても同じだからです。金額が動くのは二つの場合だけです。ひとつは土台をずらしたとき(先ほどの1,300円と1,320円)、もうひとつは定額が混ざったときです。

定額の手数料は、土台がいくらであっても金額が変わりません。5,000円・外税10%・カード定額300円なら、税を計算したあとに300円を足して5,800円。もし300円を先に足してから税を計算すると、300円にも税が掛かって5,830円になります。定額は最後に足すのが実際の請求に近く、この方式では定額の手数料に税が掛かることはありません。

自分用の買い物を抜くと、その分の税も一緒に抜ける

同じレシートに、自分だけが買った土産が混ざっている。そのぶんを割り勘から外すのは当然ですが、ここに落とし穴があります。外した瞬間、その品は税の計算からも抜けるからです。

5,000円の会計、外税10%、自分用の買い物が1,000円だとします。まず1,000円を引き、残り4,000円に10%を掛けるので、割り勘の対象は4,400円、2人なら1人2,200円。ここに外した1,000円をそのまま足すと、支払総額は5,400円になります。ところが実際のレシートは5,000円の10%増しで5,500円。差の100円は、外した1,000円に本来かかっていた税です。

だからこの手の除外欄には「その品にかかる税やサービス料」を入れ直す欄が付いています。加算率に10%と入れると外した分は1,100円になり、支払総額は5,500円でレシートと一致します。同じ10%を二度打つのは冗長に見えますが、外した品と共有分で税率やサービス料が違う場面(酒だけ税率が違う、持ち帰りだけ軽減される)があるため、別々に持つ必要があります。表計算で自作するときも同じで、除外分は「税込みの実額」で引くのが安全です。

なお、除外額を打ち間違えて会計より大きくしても、割り勘の対象は0で止まります。マイナスの割り勘が生まれないようにするための処理です。

立て替えは頭数で割らない

「電車代を立て替えた」「先にホテル代を払った」といったお金は、割り勘の計算を一切通りません。貸した人にそのまま足し、借りた人からそのまま引くだけです。10米ドルを立て替えて日本円で精算し、1ドル150円なら、貸した人に+1,500円、借りた人に−1,500円が動きます。人数では割りません。

理屈は単純で、立て替えは「割り方の話」ではなく「すでに動いたお金の付け替え」だからです。小計にも税にも触らせない位置に置くことで、税や手数料の土台を汚さずに済みます。立て替えにも加算率を付けられ、計算式は除外分とまったく同じです(1,000円の立て替えに10%なら1,100円、500円に8%なら540円が動きます)。

誰が誰に払うかは、金額が決まっても一通りではない

全員の過不足が出たあと、送金を減らす定番のやり方が「いちばん多く受け取る人と、いちばん多く払う人を突き合わせる」方法です。差し引きして残った側を次の相手に回します。素直で人が読んで納得しやすい反面、最少の送金件数であることが保証された手順ではありません

そして、金額が同点で並ぶと組み合わせが決まりません。+2,000が2人、−2,000が2人という状況で同じ計算を8回走らせると、支払い2件・各2,000円という結果は毎回同じでも、誰が誰に払うかは5回と3回に分かれました。並べ替えの決め手が金額しかないためです。

実用上の判断としては、合計と件数が同じなら、誰が誰に払うかは好きに決めてよいと考えて差し支えありません。アプリが出した相手と手元のメモが食い違っても、どちらかが間違っているとは限らないということです。

途中で丸めないほうが、最後に合う

1,000円を3人で割ると333.333…。3倍しても1,000円には戻りません。だからこの計算では途中で一切丸めず、丸めるのは送金1件ごとと、画面表示やCSV書き出しといった出力のときだけで、方式は四捨五入です。表計算で1人分を四捨五入してから人数倍すると合計が合わなくなるのは、これと逆のことをしているからです。

小さすぎる差は送金にしません。しきい値は精算通貨の最小単位の半分で、米ドルなら0.005、円なら0.5です。+0.004ドルと−0.004ドルのずれは、送金0件として消えます。

もうひとつ、金額を小数として持つと壊れる、という問題があります。1234.56という値は保存と読み出しを経ると1234.55999999999979…のような値に化けることがあり、旅行1回分の会計を重ねるとずれが表に出ます。金額は小数ではなく文字列として持ち、10進数のまま計算するのが対策です。

為替は入力した時点で固まらない

海外での割り勘は、明細を現地通貨のまま保存し、精算のたびに換算します。つまりレートが変われば過去の明細の円換算も変わります。レートの取得は起動時に1回と、設定画面の更新ボタンだけ。取得に失敗しても計算は止まらず、前回取れた値で続け、表示だけが「最新」から「保存済みレート」に下がります。一度も取得できていなければ「内蔵レート」で動きます。

レートが本当に焼き付くのは最終精算で締めた瞬間ですが、締めた記録を復元するときは、手元が「内蔵レート」のときだけ保存されたレートに戻り、それ以外は今日のレートが優先されます。旅行中の割り勘では、いつのレートで締めたのかを金額と一緒に書き残すのが安全です。

早見表

条件出る答え順序や条件を変えたらなぜ
1,000/外税10%/チップ20%1,3001,320(チップを税込1,100に重ねた場合)税とチップを同じ土台に並べるか、重ねるかの違い
1,000/外税10%/チップなし/カード3%1,133(3%は税とチップを乗せた1,100に掛かる=33)1,133(カードを先に掛けても同額)パーセント同士は掛け算なので順序で変わらない
5,000/外税10%/カード定額3005,800(5,000+税500+300)5,830(300を税の前に足した場合)定額は土台を無視するので、先に足すと課税対象が増える
5,000/外税10%/除外1,000/加算率0%支払総額 5,400実際のレシートは 5,500除外を先に引くので、外した1,000に税が掛からない
5,000/外税10%/除外1,000/加算率10%支払総額 5,500/割り勘対象 4,400/1人 2,200レシート 5,500 と一致外した分の税を除外側で入れ直したため
会計1,000/除外5,000(打ち間違い)割り勘対象 0/1人 0制限がなければ負の割り勘対象除外額は会計額で頭打ちにしている
10米ドルを立て替え/精算は円/1ドル150円貸した人 +1,500/借りた人 −1,500頭数では割られない立て替えは割り勘の計算を通らない付け替え
1,000を立て替え/加算率10%1,100 が動く除外分とまったく同じ式立て替えと除外は同じ加算のしかた
+0.004米ドルと−0.004米ドル送金 0 件円ならしきい値は0.5円最小単位の半分未満は送金にしない
1,000を3人で割る333.333…3倍しても1,000には戻らない途中は丸めず、送金1件ごとと出力時だけ丸める
+2,000/+2,000/−2,000/−2,000送金2件・各2,000(毎回同じ)誰が誰に払うかは実行ごとに入れ替わる(8回中5回と3回)並べ替えの決め手が金額だけで、同点の順位が決まらない

割り勘でもめる原因の多くは、金額そのものではなく「どの土台に乗せたか」の食い違いです。税とチップを並べたのか重ねたのか、除外した品の税を入れ直したのか、立て替えを割ってしまっていないか。この三つを揃えれば、誰が計算しても同じ数字になります。