MCPで接続 →

計算を入力してください

N個の数値を小さい順に入力します(例:800,1500,2400)。最後の数値が最終的な合計料金です。

公式

広告

結果

合計料金
2,400
円(以下のとおり割り勘)
乗客(降車順) 支払額(円)
Passenger 1 270
Passenger 2 620
Passenger 3 (last, absorbs remainder) 1,510
負担額の合計 2,400

各区間の料金は、その時点で乗車中の人だけで均等に分け、10円単位で切り上げます。切り上げで生じた端数は最後の乗客が吸収するため、合計はメーター料金とぴったり一致します。

この計算ツールでできること

このツールは日本のタクシー料金(円表示)を前提にしています。相乗りの割り勘では、慣習として10円単位で切り上げて精算するのが一般的です。何人かで1台のタクシーに乗り、目的地が近い人から順番に降りていく場合、メーターの金額はどんどん上がっていきます。先に降りた人は後半の長い区間に乗っていないのですから、合計料金を全員で均等に割るのは不公平です。この計算ツールは料金を区間(レグ)ごとに分けます。降りるタイミングで区切られた各区間の料金を、その区間にまだ乗っていた人だけで負担する仕組みです。

タクシーの経路を横線で表し、3つの降車地点があり、区間ごとに乗客が減っていく図
各区間の料金は、その時点でまだ乗車している乗客だけで分担します。

使い方

乗車人数(N)と、各降車地点でのメーターの累計金額を、小さい順にカンマ区切りで入力します。最初の数値は1人目が降りた時点のメーター合計、最後の数値が最終的な合計料金です。たとえば3人で相乗りした場合は 800,1500,2400 のように入力します。

計算式の解説

\(m_0 = 0\) とし、\(m_k\) を \(k\) 番目の降車時点でのメーター累計金額とします。区間 \(k\) の料金は \(f_k = m_k - m_{k-1}\) です。その区間ではまだ \(N - k + 1\) 人が乗っているので、1人あたりの負担は \(\lceil f_k / (10 \times \text{人数}) \rceil \times 10\)、つまり区間料金を乗車人数で割り、10円単位で切り上げた額になります。

$$\text{Share}_j = \sum_{k=1}^{j} 10\left\lceil \frac{m_k - m_{k-1}}{\,N - k + 1\,} \right\rceil$$

切り上げのため合計がわずかに多くなることがあるので、最後の人が端数を吸収します。最後の人の支払額は「合計料金 − 他の全員の切り上げ後の負担額」とすることで、合計が必ずメーター料金と一致するようにしています。

1区間の料金を残りの乗客で割り、10円単位に切り上げる様子を示した図
各区間の追加料金は乗車中の乗客で均等に割り、それぞれの負担額を10円単位に切り上げます。

計算例

3人で相乗り、メーター累計が 800、1500、2400 の場合。区間1(3人):\(800 \div 3 = 266.67\) → 切り上げで1人270円。区間2(2人):\(700 \div 2 = 350\) → 1人350円。区間3(1人):900円。暫定の合計は \(P_1 = 270\)、\(P_2 = 620\)、\(P_3 = 1520\)(合計2410円)。最後の人が10円の超過分を吸収するので、\(P_3 = 2400 - (270 + 620) = 1510\) 円。最終結果:\(P_1\) は270円、\(P_2\) は620円、\(P_3\) は1510円、合計2400円となります。

よくある質問

一番多く払うのは誰? たいていは最後に降りる人です。すべての区間に乗っており、さらに切り上げの端数も吸収するためです。

なぜ10円単位で切り上げるの? 日本の現金や相乗りの割り勘では10円単位が一般的だからです。切り上げることで端数(1円単位)が出ず、慣習的にもなじみがあります。

これで必ず公平になる? 近い人から順に降りることを前提としています。寄り道などで手前の降車地点までの料金が割高になった場合、途中で降りる人がやや多めに負担することがあります。これは「区間ごと均等割り」という方式そのものに内在する注意点です。

最終更新: