加重費用分担計算機
1000を重み2・1・1で分けると500、250、250になります。合計100になる割合でも分けられ、名前ごとの金額は必ず元の合計に一致します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 量
- 1,000
- 計算モード
- Weight
- 当事者の数
- 3
- 重みの合計
- 4
- 精度
- 2
- 分量
- 500, 250, 250
加重費用分担計算機は、1枚の請求書・保証金・プロジェクト費を、相対的な重みまたは明示的な割合で、名前付きの当事者に分けます。同居人が広い部屋を使うとき、来客を迎える夫婦が共有席に二重の重みを付けるとき、プロジェクトチームが合意した持分で関係者に請求するときに使われます。多数の領収書を先に合計する明細型の経費分担とは違い、すでに分かっている1つの合計から始め、各自の正確な金額を返し、分担額の合計がその総額に戻るようにします。同じ重みなら均等割り、2-1-1なら先頭が半分、合計が100になる割合はそのまま請求に載ります。重みの合計が0の場合や、割合の合計が100にならない場合は、黙って補完せず拒否します。
重みと割合が各自の正確な金額になる仕組み
すでに分かっている1つの共有費用から始めてください。敷金、業者の請求、グループの贈り物、和解金、プロジェクト予算などです。この計算機は領収書の明細化を求めません。
その合計をamountとして送り、少なくとも2名の名前付き当事者を、それぞれ非負の分担数とともに列挙します。weightモードでは相対的な重みです。エンジンはそれらを合計し、各当事者は総額にその重みを掛け、重みの合計で割った額を受け取ります。
2・1・1は、部屋でも人数でも持分でも、半分と2つの四半分を意味します。percentモードでは各数が総額に対する割合であり、割合の合計はちょうど100でなければなりません。200のうち40・35・25は80・70・50になります。
負の総額と負の分担は、このモデルが回収すべき費用であって払戻し台帳ではないため拒否されます。空の当事者リスト、当事者1名、amountの欠落、有限でない値、重み合計0も同じ理由で拒否されます。正確な金額が未定義または無意味になるからです。
通貨記号は計算の外に置き、同じ数値がドルでもユーロでも、グループがすでに選んだ単位でも使えるようにします。結果は既定で小数第2位の通貨精度に丸められ、正の分担を持つ最後の当事者が1単位の残差を吸収し、報告額の合計が丸めた総額に戻ります。
加重費用分担が合う場面と、そうでないもの
既知の月額家賃や単一の敷金を清算する同居人は、部屋の広さが違うときに信頼できる答えが必要です。均等割りしてチャットに推測を投稿する代わりに、重みを付けます。持分で業者請求を割る共同創業者、グラウンド予約を回収するチーム会計、宿泊夜数で別荘を分ける家族も、1つの合計と短い名前表から始めます。
ここでの検索意図は加重費用分担計算機です。既知の1費用、名前付き当事者、重みまたは割合、総額に戻る正確な金額です。多数の領収書を先に合計する明細経費分担、飲食店の割合を足して人数で割るチップ割り勘、乗客均等の燃料・通行料分担とは別の問い合わせです。
通貨換算、税、誰がすでに払ったかの台帳、二者間の借金グラフは期待しないでください。それらは専用ツールの領域です。手元にある費用について、名前付きの各当事者がいくら負担するかだけが問であるときに、このページをお使いください。
活用例
同居人の不均等な家賃や敷金
既知の月額家賃や敷金を部屋の広さや滞在夜数で分け、共有表計算なしで各当事者の正確な金額を掲示します。
持分または宿泊の割合
合意した割合の合計が100になる関係者から、業者請求や別荘代を回収し、余りを0に保ちます。
よくある質問
各当事者の金額はどう計算されますか?
weightモードでは各当事者が amount × (その重み ÷ 全重みの合計) を受け取ります。percentモードでは amount × (その割合 ÷ 100) を受け取り、割合の合計は100でなければなりません。金額は指定の精度に丸められ、合計が総額に戻るよう調整されます。
weightモードとpercentモードの違いは何ですか?
重みは相対値です。 2・1・1は合計が100でなくても、常に総額の50%・25%・25%です。割合は請求の絶対分担であり、合計が100でないと要求は拒否されます。
重みがすべて0の場合、または割合が100にならない場合は?
重み合計0はゼロ除算になり、100以外の割合合計は未割当の余りを残します。この計算機はその余りを作りません。
ある当事者の分担を0にできますか?
はい。 他が有効な合計を成す限り可能です(正の重み合計、または合計100の割合)。分担0の当事者は、この清算ではamount 0として報告されます。
料金はいくらですか?
ブラウザの用具は無料で、端末内で動きます。無効な入力は課金されません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/weighted-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}'const res = await fetch("https://api.kit.forhosting.com/life/weighted-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/weighted-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/weighted-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":1000,"parties":[{"name":"Alice","weight":2},{"name":"Bob","weight":1},{"name":"Carol","weight":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/weighted-split", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"amount": 1000,
"parties": [
{
"name": "Alice",
"weight": 2
},
{
"name": "Bob",
"weight": 1
},
{
"name": "Carol",
"weight": 1
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.weighted_split",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_parties | 200 |
max_abs_value | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
重みと割合が各自の正確な金額になる仕組み
modeフィールドが、それらの数の読み方を決めます。割合の合計が90や105なら、黙って正規化したりグループが合意していない余りを残したりせず、invalid_inputで失敗します。この清算で免除される人がいる場合、他が有効な合計を成す限り、個別の0の重みや0パーセントは許されます。経路は決定的な浮動小数点算術で、通信も乱数の種も時計もなく、同一入力は常に同一のJSONを返します。
送る内容、返る内容、課金されない誤り
amountは有限の非負の数、または数値文字列としての共有費用です。任意のmodeは閉じた集合weightまたはpercentで、既定はweightです。任意のprecisionは0から8の整数で、既定は通貨の小数2桁です。別名decimalsとdpを受け付けます。典型確認は、重み2・1・1の1000が500・250・250、割合40・35・25の200が80・70・50です。同居チャットやキックオフには無料のブラウザフォームを使い、ボットやバックエンドが同じ数を必要とするときは同一契約をスクリプトから呼び出してください。検証失敗は前払い残高を消費しません。必須フィールドを2つ、任意フィールドを2つ送ってください。表計算やフォームが使い慣れた列名を再利用できるよう、別名total・cost・total_cost・billを受け付けます。partiesは、表示名と非負のweightを持つオブジェクトを少なくとも2件含む配列、またはその配列のJSON文字列です。別名peopleとsharesを受け付けます。別名split_modeとasを受け付けます。必須の欠落、非数値文字列、NaN、Infinity、当事者2名未満、200名超、負の金額、負の重み、未知のmode、ラベルできない無名行、weightモードでの重み合計0、合計が100にならない割合列は、すべてinvalid_inputで失敗し、課金されません。成功時は、丸めたamount、解決済みmode、party_count、weight_sum、precisionをエコーし、name・weight・percent・share_ratio・amountを持つparties配列、スクリプト向けの並列amountsとamounts_sum、method文字列weighted_cost_split、およびamount×weight÷重み合計またはamount×percent÷100を述べるformula文字列を返します。成功したAPI呼び出しの料金は公開ベースの$0.002/件です。
加重費用分担が合う場面と、そうでないもの
この能力は純粋なparseエンジンなので、API料金は成功した件あたり公開ベースの$0.002であり、検証失敗は残高を消費しません。自動化パイプラインは清算のあと監査するため、amount・mode・weight_sum・分担比・当事者ごとの金額を保存します。
連携の活用例
清算ボットと家計ウィジェット
1つの合計と当事者表をバックエンドボットや無料ブログウィジェットに渡し、支払い依頼がブラウザと同じ計算になるようにします。