差の割合の計算機
この差の割合の計算機で、二つの数を平均に対する割合として、どちらの順序でも比べられます。差の割合の公式、手順ごとの求め方、価格差とRPDの例題も扱います。
例の値が入力されています。ご自身の値に置き換えてください。
差の割合
40%
計算過程
- abs(20 − 30) ÷ ((abs(20) + abs(30)) ÷ 2) × 100 = 40%
- 20 − 30の絶対値 = 10
- (20 + 30) ÷ 2 = 25
- 10 ÷ 25 × 100 = 40%
- 二つの値の差
- 10
- 絶対値の平均
- 25
差の割合は、二つの値の差を二つの値の平均で割って求めるため、値を逆の順に入力しても答えは同じです。
二つの値がどちらもパーセントの場合、その差はパーセントポイントで測り、差の割合とは別の指標です。パーセントポイント計算機をご覧ください。
二つの店が同じ商品に45ドルと60ドルの値をつけた、あるいは検査室の二回の測定値が12.5と13.1だった。どちらの数も元の値でないとき、二つはどれくらい離れているのでしょうか。一方で割った場合と、もう一方で割った場合では、答えが変わってしまいます。
この差の割合の計算機に二つの値を入力すると、差の割合の計算が行われ、計算の過程も表示されます。二つの値の平均で割るので、入力する順序を入れ替えても結果は変わりません。一方の値が出発点の場合は、スイッチで同じ組の変化率も確認できます。
差の割合のしくみ
結論: 二つの値の差を平均で割り、100をかけます。20と30なら、差は10、平均は25で、10 ÷ 25 × 100 = 40%です。
差の割合とは
差の割合は、どちらの値も元の値ではないときに、二つの値を比べる指標です。基準には二つの値の平均を使うため、値を入れ替えても答えは同じになります。この対称性が、出発点の値で割るために順序によって結果が変わる変化率との違いです。実験・分析の分野では、同じ指標を相対パーセント差(RPD)と呼びます。
差の割合の公式
差の割合 = abs(a - b) / ((abs(a) + abs(b)) / 2) * 100これが差の割合を計算する公式で、パーセント差の公式とも呼ばれます。正の数なら、分母の a と b にかかる絶対値の記号は省けて、abs(a − b) ÷ ((a + b) ÷ 2) になります。絶対値の平均を使うのは、負の入力でも結果が定まるようにするための約束で、差の割合の計算機は使った公式を表示します。
二つの数の差の割合の求め方(手順)
- 小さい方の値を大きい方から引いて、差を求めます。
- 二つの値を足して2で割り、平均を求めます。
- 差を平均で割ります。
- 100をかけて、パーセント記号を付けます。
これが二つの数の差の割合の計算方法です。どちらの値も出発点として選ぶ必要がないので、順序は関係ありません。
差の割合を暗算で求める方法
計算機なしで差の割合を求めるには、差を求め、和を半分にし、割ります。45と60なら、差は15、和は105なので、平均は52.5です。十五は52.5の30%より少し小さく、正確な28.57%と一致します。念のための確認として、計算した差の割合は決して負にならず、二つの正の値なら200%を超えることもありません。どちらかが出たなら、入力か手順のどこかが間違っています。
二つの価格の差の割合
価格差とは、お金で見た差のことです。60ドルから45ドルを引いて15ドルです。価格差を割合で計算するには、その差を典型的な価格に合わせて換算します。15ドル ÷ 52.50ドル = 28.57% です。逆に、60ドルの商品が45ドルの商品より何割高いかを言いたいなら、それは45ドルからの変化で、答えは+33.3%です。その言い方には変化率計算機を使ってください。
相対パーセント差(RPD)
12.5と13.1の二回の繰り返し測定は、平均12.8に対して差が0.6で、RPDは4.69%です。検査機関は通常、この数値を自分たちの方法で定めた許容範囲と比べるので、計算機は数値を示すだけで、合格か不合格かの判断はご自身に委ねます。上の計算機に二つの測定値を入力すれば、RPDの計算機として使えます。
差の割合はどこまで大きくなる?
負でない二つの値の場合、差の割合は0%から200%の範囲になります。値が等しければ0%、どちらかが0なら200%です。一方が他方の三倍のとき、たとえば10と30のときは、差が平均と等しくなるため、ちょうど100%になります。
差の割合、変化率、誤差率の違い
二つの店、二つのグループ、二つの機器のように、二つの値が対等なときは、差の割合を使います。一方の値が先にあるときは、変化率計算機を使います。一方が既知の真の値または基準値であるときは、誤差率計算機を使います。
差の割合が使われる場面
差の割合は、「これらはどれくらい離れているか」という問いに、さまざまな場面で答えます。二つの仕入れ先の見積もり、二つの地域の売上、A/Bテストの二つのバージョンの成約率、二つの繰り返し測定値などです。物理や化学の授業では標準的な練習問題として出され、通常は同じ実験で測った二つの数の差の割合を求めます。基準値があえてないことが、この指標の強みであり、次の節で示すように限界でもあります。
差の割合が役に立つ場合と誤解を招く場合
どちらの値も優先せずに、二つの測定値、二つの見積もり、二つの標本を比べるのに役立ちます。誤解を招くのは次の四つの場合です。
- 一方の値が明らかに基準である。 100と200の差の割合は66.7%ですが、後の値は前の値より100%高くなっています。小さい方の数が、増え方の大きさを隠してしまいます。
- 一方の値がゼロかゼロに近い。 0を含む組み合わせはちょうど200%になり、0.1と30でも198.7%になるため、この割合から大きさはほとんど分かりません。
- 値がパーセントの場合。40%と50%の比較は10ポイントの差であり、10%と呼ぶべきでない理由はパーセントポイントのガイドで説明しています。
- 同じ組み合わせを三通りに言い表せる。 20と30は40%離れていて、30は20より50%多く、20は30より33.3%少なくなっています。三つとも正しいので、どれを指すのかを明記し、どのパーセントにも絶対的な差を添えてください。
差の割合の例題
公式で計算した六組の例です。
| 値1 | 値2 | 差 | 平均 | 差の割合 |
|---|---|---|---|---|
| 20 | 30 | 10 | 25 | 40% |
| 10 | 30 | 20 | 20 | 100% |
| 100 | 200 | 100 | 150 | 66.67% |
| 45 | 60 | 15 | 52.5 | 28.57% |
| 72 | 90 | 18 | 81 | 22.22% |
| 9.8 | 10.2 | 0.4 | 10 | 4% |
例題1:20と30の差の割合
条件
答え
例題2:二つの価格、45ドルと60ドル
条件
答え
例題3:二つのテストの得点、72と90
条件
答え
例題4:二つの測定値、9.8 cmと10.2 cm
条件
答え
例題5:差の割合がちょうど100%になる場合
条件
手順 1
差は20、平均は20なので、差は 20 ÷ 20 = 100%です。
答え
差の割合のコード
どちらのバージョンも、上の例(40%、28.57%、22.22%、4%、100%、4.69%、66.67%)を再現し、基準には絶対値の平均を使い、二つのゼロは拒否します。変化率との対比を示せるよう、percentChangeFrom も含めています。
JavaScript
function finite(name, v) { if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);}export function percentDifference(a, b) { finite("a", a); finite("b", b); const mean = (Math.abs(a) + Math.abs(b)) / 2; if (mean === 0) throw new RangeError("a and b must not both be 0: the percentage difference is undefined"); return (Math.abs(a - b) / mean) * 100;}export function percentChangeFrom(start, end) { finite("start", start); finite("end", end); if (start === 0) throw new RangeError("start must not be 0: the change from zero is undefined"); return ((end - start) / Math.abs(start)) * 100;}Python
from decimal import Decimalimport mathdef _num(name, v): if isinstance(v, bool) or not isinstance(v, (int, float, Decimal)) or not math.isfinite(float(v)): raise ValueError(f"{name} must be a finite number") return Decimal(str(v))def percent_difference(a, b): a, b = _num("a", a), _num("b", b) mean = (abs(a) + abs(b)) / 2 if mean == 0: raise ValueError("a and b must not both be 0: the percentage difference is undefined") return abs(a - b) / mean * 100def percent_change_from(start, end): start, end = _num("start", start), _num("end", end) if start == 0: raise ValueError("start must not be 0: the change from zero is undefined") return (end - start) / abs(start) * 100percentDifference(100, 200)は約66.67を返し、percentChangeFrom(100, 200)は100を返します。同じ組み合わせでも、問いが違うからです。丸めるのは表示するときだけにしてください。
プライバシーと入力の安全性
値の計算はブラウザー内で行われます。入力した数値がサーバーに送られたり、保存されたりすることはありません。
- 入力欄には数値だけを入力できます。文字、空欄、NaN、Infinityはメッセージつきで拒否されます。
- 二つのゼロを入力すると、平均が0で差の割合が定義されないため、割り算のエラーではなく分かりやすいメッセージが返されます。
- 負の入力も受け付けます。基準は絶対値の平均で、結果にはその公式が明記されるので、ほかのツールと比べられます。
- カンマの直後にちょうど3桁が続く場合は千の位の区切りとして読み、1,200 は 1200 になります。それ以外のカンマは小数点として扱うため、12,50 は 12.50 で、0 で始まる 0,500 のような数は小数として読みます。1.234,5 のような混在形式や 1,2,3 のようなあいまいな入力は、推測せずに拒否します。桁区切りの空白(改行されない空白を含む)は無視します。
差の割合でよくある間違い
| 間違い | 何が起こるか | 計算機の動作 |
|---|---|---|
| 一方の値で割る | 20と30の場合、どちらで割るかによって、40%ではなく50%か33.3%になる | 平均で割るので、順序は関係ありません |
| 平均ではなく和で割る | 10 ÷ 50 は40%ではなく20%になる | 先に和を半分にして、使った平均を表示します |
| 差の符号を残したままにする | 20から30を引くと−40%になる | 絶対値の差をとるので、結果が負になることはありません |
| 一方の値が出発点なのに差の割合を使う | 100と200だと66.7%になり、100%の増加が隠れる | 変化率モードを案内します |
| 二つのパーセントを単なる値として扱う | 40%と50%が22.2%離れていると言ってしまうが、実際の差は10ポイント | 結果にラベルをつけ、横にポイントの差を表示します |
| 先に入力値を丸める | 9.8と10.2を10と10に丸めると、4%ではなく0%になる | 丸めるのは表示する結果だけです |
| 入力の一方にゼロを使う | 0を含む組み合わせはどれも200%になり、大きさについて何も分からない | 200%を返し、値がゼロだと割合の意味が薄れることを注記します |
| 二つの値をどちらも0にする | ゼロによる割り算 | メッセージを表示して受け付けない |
| 差の割合を「どれだけ多いか」と読む | 60ドルと45ドルは28.57%離れているが、33.3%多い | 結果を、変化ではなく差としてラベルをつけます |
差の割合、変化率、誤差率、パーセントポイントの違い
| 指標 | 公式 | 基準 | 順序の影響 | 向いている場面 |
|---|---|---|---|---|
| 差の絶対値 | abs(a − b) | 該当なし | なし | 元の単位での差 |
| 差の割合 | abs(a − b) ÷ ((abs(a) + abs(b)) ÷ 2) × 100 | 二つの平均 | なし | 対等な二つの値(二つの店、二つの測定器など) |
| 変化率 | (最終値 − 初期値) ÷ abs(初期値) × 100 | 初期値 | はい | 一方の値が先にある場合 |
| 増加率または減少率 | 同じ公式で、一方向のみ | 初期値 | はい | 増加または減少が分かっている場合 |
| 誤差率 | abs(測定値 − 真の値) ÷ abs(真の値) × 100 | 真の値 | はい | 測定値を基準値と比べる場合 |
| パーセントポイント | 割合2 − 割合1 | 該当なし | はい | 二つのパーセントの差 |
どの数が基準になるのか、あるいは基準がないのかを考えて選んでください。