メインコンテンツへ移動

例の値が入力されています。ご自身の値に置き換えてください。

変化率

+15%

増加

計算過程

  1. 9200 − 8000 = 1200
  2. 1200 ÷ 8000 × 100 = 15%
変化の絶対値
1200
基準にした値(初期値の絶対値)
8000
初期値に戻すために必要な変化
-13.04%

変化率は初期値の絶対値で割るため、−50から−25への変化は+50%で、増加になります。

これは初期値に対する割合で表した相対的な変化です。二つの値がどちらも率の場合、その差はパーセントポイントで測り、別の指標です。パーセントポイント計算機をご覧ください。

株価が80ドルから68ドルに下がった、あるいはサイトの訪問数が5,000から20,000に急増した。その動きはどれだけ大きく、どちらの向きだったのでしょうか。12ドルや15,000訪問という差だけでは、出発点が違うものどうしを比べられません。変化率なら比べられます。

この変化率計算機に初期値と最終値を入力すると、変化率が増加か減少かの表示とともに、計算の全ステップつきで求まります。負の初期値にも対応し、どの考え方を使ったかも示すので、ご自身の答えと照らし合わせて確認できます。

変化率のしくみ

結論:最終値から初期値を引き、初期値で割って100を掛けます。結果が正なら増加、負なら減少です。80から68への変化は (68 − 80) ÷ 80 × 100 = −15% です。

変化率とは?

変化率は、ある値がどれだけ動いたかを、出発点の値に対する割合で表します。増加率計算機や減少率計算機は一方向だけを扱いますが、この変化率計算機は両方を扱い、向きを符号で示します。

変化率の公式

変化率 = (最終値 - 初期値) / abs(初期値) * 100

これが変化率の公式の全体です。変化率を求める公式は、お金、質量、人数、訪問数など、単位が何であっても同じです。割り算で単位が打ち消し合うからです。絶対値の記号が意味を持つのは、初期値が負の場合だけです。

変化率の計算方法

  1. 最終値から初期値を引いて、変化量を求めます。
  2. 変化量を、最終値ではなく初期値で割ります。
  3. 100を掛けて符号を残します。増加ならプラス、減少ならマイナスです。

二つの数の間の変化率の求め方は、先に起きたほうを必ず初期値にすることです。変化率を計算するとき、二つを入れ替えると答えが変わります。80から100は+25%ですが、100から80は−20%です。

変化率から新しい値を求める

変化率が分かっていて最終値を知りたいときは、公式を逆向きに使います。最終値 = 初期値 × (1 + 変化率 ÷ 100)。$250で変化率が−12%なら、250 × 0.88 = $220 になり、60に40%の上昇なら、60 × 1.40 = 84 です。変化率の計算を逆向きに行うことは、パーセントを足したり引いたりすることと同じです。増加率計算機で、上昇についてさらに詳しく扱っています。

負の数どうしの変化率

初期値が負のときは、計算機は初期値の絶対値で割ります。そのため、結果の符号が動きの向きと一致します。−50から−25への変化は、値が25上がったので+50%です。−20から−30への変化は、10下がったので−50%です。これは約束事です。Excelで入力するような単純な (新 − 旧) ÷ 旧 の式では、最初の動きに対して−50%が返り、変化の向きと逆の符号になります。計算機は絶対値の初期値を使い、そのことを結果の横に表示するので、ご自身の計算と照らし合わせられます。−10から20のようにゼロをまたぐ場合、公式は+300%を返しますが、絶対的な変化量の30のほうが実態に合うことが多いです。

パーセントどうしの変化

値そのものがパーセントの場合も公式は変わりませんが、言い方が重要になります。割合が40%から50%に動くのは、10パーセントポイントの変化であり、相対的には25%の変化です。(50 − 40) ÷ 40 = 0.25 です。どちらを指すのかを明示してください。違いはパーセントポイントのガイドで説明しています。

変化が対称にならない理由

50%の上昇のあとに50%の下降があっても、出発点には戻りません。100は150になり、そのあと75になります。50%の下降から回復するには、100%の上昇が必要です。変化のたびにもとにする量が違うからです。

変化率が誤解を招く場合

もとにする量が小さいと、パーセントが大げさになります。1から3への変化は200%の増加ですが、1,000から1,030への変化は3%です。最初の増加は2、あとの増加は30なのにです。そのような動きを公平に判断するには、絶対的な変化量とあわせて示し、もとにする量を明記してください。多くの期間にわたる場合は、毎年のパーセントを平均せず、下に示すようにつなげて計算してください。

変化をつなげる:パーセントを掛け合わせる方法

続けて起こる変化をまとめるには、それぞれを係数(1に小数で表した変化を足した値)に直して掛けます。20%の上昇のあとに10%の下降なら、1.20 × 0.90 = 1.08 で、10%ではなく正味8%の上昇です。このようにパーセントを掛け合わせると、複利の成長も求められます。10%の上昇を三回重ねると、1.10³ = 1.331、つまり33.1%になります。

変化率と差の割合の違い

一方の値が先にあり、もう一方がその結果である場合は、変化率を使います。同じ商品の二つの店での価格のように、二つの値が対等で自然な出発点がない場合は、差の割合を使います。差の割合の計算機は二つの値の平均で割るので、順序は関係ありません。

人口増加などの実生活での使い方

人口増加率は、ある期間における人数の変化率です。町の人口が48,000人から50,400人に増えたなら、2,400 ÷ 48,000 = 5% の成長です。前年比、年間、月間の成長は、期間が一つ離れた数字に同じ計算を行ったものです。経済学(GDP、CPI)、生物学(浸透の実験での質量変化)、ビジネス(売上、利益)はいずれも、この変化率の公式を使います。

変化率の例題

小さな整数の動きの早見表です。

変化率の例題
変化前変化後変化量変化率
520+15+300%
2010−10−50%
23+1+50%
54−1−20%

例題1:株価が$80から$68に下落

条件

株価が80ドルから68ドル
  1. 手順 1

    変化量は 68 − 80 = −12 です。
  2. 手順 2

    初期の価格で割ります。−12 ÷ 80 = −0.15 です。

答え

15%の減少で、−15%と表します。

例題2:ウェブサイトの訪問数が5,000から20,000に増加

条件

サイトの訪問数が5,000から20,000
  1. 手順 1

    変化量は+15,000で、15,000 ÷ 5,000 = 3 です。

答え

訪問数は300%増え、新しい値は古い値の四倍になりました。上昇は100%を超えることがありますが、値が正の場合、下降は−100%を下回りません。

例題3:質量の変化率、12.5 gから11.2 gへ

条件

質量が12.5 gから11.2 g
  1. 手順 1

    試料は1.3 g減りました。
  2. 手順 2

    最初の質量で割ります。−1.3 ÷ 12.5 = −0.104 です。

答え

質量は10.4%減りました。

例題4:前年比の売上、$1.8百万から$2.25百万へ

条件

前年比の売上、1.8百万ドルから2.25百万ドル
  1. 手順 1

    変化量は+0.45百万ドルで、0.45 ÷ 1.8 = 0.25 です。

答え

売上は前年比で25%伸びました。

例題5:負の値、−50から−25へ

条件

負の値、−50から−25
  1. 手順 1

    変化量は+25、初期値の絶対値は50なので、25 ÷ 50 = 0.5 です。

答え

値は50%上昇し、動きの向きと一致しました。

例題6:順序が重要な理由、20と30

条件

20と30
  1. 手順 1

    20から30は +10 ÷ 20 = +50% です。
  2. 手順 2

    30から20は −10 ÷ 30 = −33.3% です。

答え

差の10は同じですが、初期値は同じではありません。どちらの数も出発点でない場合は、代わりに差の割合計算機を使ってください。20と30なら、どちらの順でも40%になります。

変化率のコード

どちらのバージョンも、上の例(+300%、−50%、+50%、−20%、−15%、−10.4%、+25%)を再現し、負の初期値には絶対値の初期値を使い、初期値が0の場合は計算を拒否します。

JavaScript

JavaScript
function finite(name, v) {  if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);}​export function percentChange(initial, final) {  finite("initial", initial);  finite("final", final);  if (initial === 0) throw new RangeError("initial must not be 0: the change from zero is undefined");  const percent = ((final - initial) / Math.abs(initial)) * 100;  const direction = percent > 0 ? "increase" : percent < 0 ? "decrease" : "no change";  return { percent, direction };}​export function chainChanges(...percents) {  percents.forEach((p, i) => finite(`percents[${i}]`, p));  return (percents.reduce((factor, p) => factor * (1 + p / 100), 1) - 1) * 100;}

Python

Python
from decimal import Decimalimport math​​def _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_change(initial, final):    initial, final = _num("initial", initial), _num("final", final)    if initial == 0:        raise ValueError("initial must not be 0: the change from zero is undefined")    percent = (final - initial) / abs(initial) * 100    direction = "increase" if percent > 0 else "decrease" if percent < 0 else "no change"    return percent, direction​​def chain_changes(*percents):    factor = Decimal(1)    for i, p in enumerate(percents):        factor *= 1 + _num(f"percents[{i}]", p) / 100    return (factor - 1) * 100

chainChanges(20, -10) は、表示用に丸めると8を返します。これはつなげる例の正味の上昇です。chainChanges(50, -50) は−25を返し、これは100から75になる場合です。丸めるのは表示のときだけにしてください。

プライバシーと入力の安全性

値の計算はブラウザー内で行われます。入力した数値がサーバーに送られたり、保存されたりすることはありません。

  • 入力欄には数値だけを入力できます。文字、空欄、NaN、Infinityはメッセージつきで拒否され、入力した内容がコードとして実行されることはありません。
  • 初期値が0の場合は、ゼロからの変化率が定義されないため、除算エラーではなく分かりやすいメッセージが表示されます。絶対的な変化量は引き続き表示されます。
  • カンマの直後にちょうど3桁が続く場合は千の位の区切りとして読み、1,200 は 1200 になります。それ以外のカンマは小数点として扱うため、12,50 は 12.50 で、0 で始まる 0,500 のような数は小数として読みます。1.234,5 のような混在形式や 1,2,3 のようなあいまいな入力は、推測せずに拒否します。桁区切りの空白(改行されない空白を含む)は無視します。

変化率でよくある間違い

変化率でよくある間違い
間違い何が起こるか計算機の動作
最終値で割る80から100は、25%ではなく20%になる常に初期値で割ります
符号を落とす80から68への下降を「15%」とだけ表示して、上昇と読まれる結果に増加か減少かのラベルと符号をつけます
連続した変化を足す+20%のあとに−10%を+10%と読むが、正味は+8%係数を掛け合わせます
同じパーセントで変化を元に戻そうとする−50%の下降から回復するには、+50%ではなく+100%の上昇が必要使ったもとにする量を示すので、逆算で確かめられます
負の初期値で符号の慣例を混ぜる−50から−25は、初期値の絶対値を使う規則では+50%、符号つきの初期値を使う規則では−50%絶対値で割り、その約束事を明記します
ゼロから始めるゼロによる割り算になるか、意味のない無限大のパーセントになるメッセージを表示して拒否し、絶対的な変化量を示します
ポイントをパーセントと読む40%から50%を10%の上昇と呼ぶが、正しくは10ポイント、相対では25%結果に相対的な変化というラベルをつけます
どちらの値も出発点でないのに変化率を使う最初にどちらの数を入力するかで答えが変わる差の割合モードを案内します
ステップごとに丸めるつなげた計算で、結果が一ポイント以上ずれる丸めるのは表示する結果だけです

変化率と関連する指標の比較

変化率と関連する指標の比較
指標公式基準向きを示すか順序の影響
変化率(最終値 − 初期値) ÷ abs(初期値) × 100初期値はい、符号ではい
増加率同じ公式で、上昇のみ初期値常に上向きはい
減少率(初期値 − 最終値) ÷ 初期値 × 100初期値常に下向きはい
差の割合abs(a − b) ÷ ((a + b) ÷ 2) × 100二つの平均なしなし
誤差率abs(測定値 − 真の値) ÷ abs(真の値) × 100真の値なしはい
パーセントポイント新しい割合 − 古い割合該当なしはい、符号ではい

変化率は、全体をまとめる指標です。増加率と減少率はその二つの半分にあたり、差の割合は出発点がない版、誤差率は出発点が既知の真の値である版です。どの数が基準になるのか、あるいは基準がないのかを考えて選んでください。

よくある質問

変化率はどう計算しますか?

最終値から初期値を引き、初期値で割って100を掛けます。80から68なら、−12 ÷ 80 × 100 = −15% です。

二つの数の間の変化率はどう計算しますか?

公式は同じで、先の数を初期値にします。5から20なら、変化量は+15で、15 ÷ 5 = 3 なので、300%の増加です。20から10なら、変化量は−10で、−10 ÷ 20 = −0.5 なので、50%の減少です。

変化のパーセントはどう計算しますか?

二つの量が普通の値なら、上の変化率の公式を使います。どちらもすでにパーセントなら、単純な差はパーセントポイントになります。40%から46%は+6ポイントで、6 ÷ 40 = 0.15 なので、相対的な変化は15%です。

パーセントを掛けるには、どうすればよいですか。

それぞれを小数に直して掛けます。20% × 50% は 0.20 × 0.50 = 0.10、つまり10%です。続けて起こる変化なら、代わりに成長の係数を掛けます。10%の上昇のあとにもう一度10%上昇する場合は、1.10 × 1.10 = 1.21 で、合計21%の変化です。

価格の変化率はどう計算しますか?

古い価格を初期値として扱います。価格が$50から$44に下がったなら、−$6で、−6 ÷ 50 = −12% です。

前年比の変化率はどう計算しますか?

今年の数字から昨年の数字を引き、昨年の数字で割って100を掛けます。売上が120,000から138,000になったなら、+18,000で、18,000 ÷ 120,000 = 15% です。

質量の変化率はどう計算しますか?

同じ公式で、最初の質量をもとにする量にします。サンプルが250 gから235 gに減ったなら、変化量は−15 gで、−15 ÷ 250 = −6% です。