メインコンテンツへ移動

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

元の値

80

計算過程

  1. 1 + 20 ÷ 100 = 1.2
  2. 96 ÷ 1.2 = 80
変化した量
16

コートが15%引きで68ドルでした。セール前の価格はいくらだったでしょうか。68ドルに15%を足し戻すのが、よくある間違いです。セール価格は元の価格の85%なので、元の価格は68ドル ÷ 0.85 = 80ドルです。

モードを選び、最終的な金額とパーセントを入力すると、この逆算の計算機が計算の過程つきで元の金額を返します。増加率を元に戻す、減少率を元に戻す、あるいは「80は何の4%か」のように、ある数が全体の何%にあたるかが分かっているときの全体を求める、のいずれかです。

逆算のしくみ

結論: 最終値を倍率で割ります。倍率は、増加なら1にパーセントを足した数、減少なら1からパーセントを引いた数です。20%上がって96ドルになった価格は、96ドル ÷ 1.20 = 80ドルです。

逆算とは

逆算の問題は、パーセントによる変化の結果を示して、最初の金額を尋ねます。部分とそれが表すパーセントが分かっているときの全体を求める、関連した問いも含みます。どちらも、ふつうの計算を逆向きに行うものなので、「パーセントの逆向きの問題」として検索されることもあります。

増加または減少を逆算する方法

元の値 = 最終値 / (1 + p / 100) (p%の増加のあと)

元の値 = 最終値 / (1 - p / 100) (p%の減少のあと)

  1. パーセントを小数にします(15%は0.15)。
  2. 倍率を求めます。増加なら1に小数を足し、減少なら1から小数を引きます。
  3. 最終値を倍率で割ります。

パーセントは元の値から取られたものなので、最終的な金額は、元の値に倍率を掛けたものに等しくなります。

パーセントから元の値を求める方法

部分が未知の全体の既知のパーセントにあたるときは、部分をパーセントの小数で割ります。「80は何の4%か」なら、全体は 80 ÷ 0.04 = 2,000 です。同じ規則で、「16は何の40パーセントか」(16 ÷ 0.40 = 40)や「何の15%が3か」(3 ÷ 0.15 = 20)にも答えられます。

「80は何の4か」のような問いの読み方

「80は何の4か」のような検索は%記号を省いていますが、意味は「80は何の4%か」です。一般的な型は「xは何のyパーセントか」で、答えは x ÷ (y ÷ 100) です。上の計算機のモード3は、これを一度に行います。答えは掛け戻して確かめられます。2,000 × 0.04 = 80 です。

計算機を使わない方法

元の値を100%と考えます。20%の増加のあと、最終的な金額は120%です。120%が96なら、1%は 96 ÷ 120 = 0.8 で、100%は 0.8 × 100 = 80 です。この単位量あたりで考える方法は、倍率で割るのと同じ答えになり、筆算の形で書き出しやすい方法です。

パーセントを最終値から引いてはいけない理由

96ドルから20%引くと76.80ドルになり、80ドルにはなりません。20%の上昇は、元の80ドルに対して求めたもので、16ドルでした。96ドルの二十パーセントは19.20ドルで、これは別の金額です。基準が大きいからです。

VATや消費税を合計から除く方法

税は増加率の一種なので、除くことは逆算にあたります。20%のVATを含む120ポンドの価格は、税抜き価格が 120ポンド ÷ 1.20 = 100ポンドで、VATは20ポンド、合計の六分の一です。8%の消費税を含む米国の合計108ドルは、108ドル ÷ 1.08 = 100ドルが税引き前の金額になります。

続けて二回の変化を逆算する

値が二回の変化を経たときは、それぞれの倍率で割るか、その積で割ります。20%上がり、そのあと10%下がった108ドルの価格は、108ドル ÷ (1.20 × 0.90) = 100ドルから来ています。20%引いてから10%を足して戻してはいけません。それでは95.04ドルになります。

答えを順方向で確かめる

パーセントを逆算したら、答えにパーセントを順方向に当てはめて確かめます。元の値が80ドルでセールが15%引きなら、80 × 0.85 = 68となり、一致します。

逆算が出てくる場面

パーセントから元の値を計算するには、分かっているところから始めます。セール後の価格、税込みの合計、成長後の数字などです。10%上がって1,595ドルになった家賃は、1,595ドル ÷ 1.10 = 1,450ドルでした。「何の何%か」は別の問いです。パーセントが未知だからです。それはホームページのパーセント計算機で解けます。

ExcelとGoogle Sheetsでの逆算

最終値がB2、パーセントが小数またはパーセント表示のセルとしてC2にあるとき、増加を逆算するには=B2/(1+C2)、減少を逆算するには=B2/(1-C2)と入力します。部分とパーセントの場合は=B2/C2を使います。

制限

100%の減少では何も残らず、−100%以下の増加は本当の増加ではないので、元の値は復元できません。パーセントが0の場合も、全体は求まりません。計算機はこの三つすべてを拒否し、理由を示します。

逆算の例題

よく使うパーセントについて、割る倍率の一覧です。

逆算の例題
パーセント増加後減少後
5%1.050.95
10%1.100.90
15%1.150.85
20%1.200.80
25%1.250.75
50%1.500.50

例題1:15%引きで68ドルのセール価格

条件

倍率は 1 − 0.15 = 0.85 です。

答え

割ります。68 ÷ 0.85 = もとは80ドルです。セールで12ドル節約できました。

例題2:VATを除く、20%のVAT込みで120ポンド

条件

倍率は1.20です。

答え

割ります。120 ÷ 1.20 = VAT抜きで100ポンドなので、合計のうち20ポンドがVATです。

例題3:給与、5%上がって52,500ドル

条件

倍率は1.05です。

答え

割ります。52,500 ÷ 1.05 = 50,000ドルなので、上がった額は2,500ドルです。

例題4:人口、8.5%増えて9,114人

条件

倍率は1.085です。

答え

割ります。9,114 ÷ 1.085 = 成長前は8,400人です。

例題5:80は何の4%か

条件

部分をパーセントの小数で割ります。

答え

80 ÷ 0.04 = 2,000です。

例題6:二回の変化、+20%のあと−10%で108ドル

条件

合成した倍率は 1.20 × 0.90 = 1.08 です。

答え

割ります。108 ÷ 1.08 = 100ドルです。

逆算のコード

どちらのバージョンも、上の例の結果(80ドル、50,000ドル、8,400、2,000、100)を再現し、数値以外の入力を拒否し、逆算できないケースを受け付けません。

JavaScript

JavaScript
function finite(name, v) {  if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);}​export function originalAfterIncrease(final, percent) {  finite("final", final);  finite("percent", percent);  if (percent <= -100) throw new RangeError("percent must be greater than -100");  return final / (1 + percent / 100);}​export function originalAfterDecrease(final, percent) {  finite("final", final);  finite("percent", percent);  if (percent >= 100) throw new RangeError("percent must be less than 100: nothing can be recovered from a 100% decrease");  return final / (1 - percent / 100);}​export function wholeFromPart(part, percent) {  finite("part", part);  finite("percent", percent);  if (percent === 0) throw new RangeError("percent must not be 0");  return (part * 100) / percent;}

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 original_after_increase(final, percent):    final, percent = _num("final", final), _num("percent", percent)    if percent <= -100:        raise ValueError("percent must be greater than -100")    return final / (1 + percent / 100)​​def original_after_decrease(final, percent):    final, percent = _num("final", final), _num("percent", percent)    if percent >= 100:        raise ValueError("percent must be less than 100: nothing can be recovered from a 100% decrease")    return final / (1 - percent / 100)​​def whole_from_part(part, percent):    part, percent = _num("part", part), _num("percent", percent)    if percent == 0:        raise ValueError("percent must not be 0")    return part * 100 / percent

二回続けての変化は、それぞれの倍率で順に割ります。originalAfterIncrease(originalAfterDecrease(108, 10), 20)は100を返します。割り算は長い小数になることがあるので、丸めるのは表示するときだけにしてください。金額にはDecimalか、整数のセント単位を使ってください。

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

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

  • 入力欄には数値だけを入力できます。文字、空欄、NaN、Infinityはメッセージつきで拒否され、入力した内容がコードとして実行されることはありません。
  • カンマの直後にちょうど3桁が続く場合は千の位の区切りとして読み、1,200 は 1200 になります。それ以外のカンマは小数点として扱うため、12,50 は 12.50 で、0 で始まる 0,500 のような数は小数として読みます。1.234,5 のような混在形式や 1,2,3 のようなあいまいな入力は、推測せずに拒否します。桁区切りの空白(改行されない空白を含む)は無視します。
  • 結果は表示のときだけ丸めるので、計算の過程で丸め誤差が積み重なることはありません。

逆算でよくある間違い

逆算でよくある間違い
間違い何が起こるか計算機の動作
最終値からパーセントを引く96ドルから20%を引くと76.80ドルで、80ドルにならない倍率で割る
値下げ後の価格にパーセントを足す68ドルに15%を足すと78.20ドルで、80ドルにならない0.85で割る
増加と減少を取り違える68ドルを15%の増加の結果として扱うと59.13ドルになり、80ドルにならないモードを選ばせ、倍率を示します
パーセントだけで割る96 ÷ 0.20は480で、80にならない1にパーセントを足した数、または引いた数で割る
部分にパーセントをかける80 × 4% は3.2、全体は 80 ÷ 4% = 2,000 です部分と全体のモードで割ります
二回の変化の逆算で符号を入れ替える108ドルを−20%、続けて+10%で逆算すると95.04ドルで、100ドルにならない倍率の積で割ります
100%の減少を逆算する最終値がゼロなので、取り戻すものがないメッセージを表示して受け付けない
倍率を丸める7.5%の増加に1.08を使うと、結果がずれる正確なパーセントを使い、丸めるのは表示だけです

逆算とほかのパーセントの問いの違い

逆算とほかのパーセントの問いの違い
問分かっているもの求めるもの公式
増加の逆算最終値、増加のパーセント元の値最終値 ÷ (1 + パーセント ÷ 100)
減少の逆算最終値、減少のパーセント元の値最終値 ÷ (1 − パーセント ÷ 100)
部分から全体を求める部分、パーセント全体部分 ÷ (パーセント ÷ 100)
ある数のパーセント全体、パーセント部分全体 × パーセント ÷ 100
何パーセントか部分、全体パーセント部分 ÷ 全体 × 100
変化率元の値、最終値変化率(最終値 − 元の値) ÷ 元の値 × 100

逆算の行だけが、未知の値が最初の金額になっています。ほかはすべて、最初の金額から順方向に計算します。

よくある質問

80は何の4%ですか?

2,000です。部分を、小数で表したパーセントで割ります:80 ÷ 0.04 = 2,000。順方向に確かめると、2,000の4%は80です。

「何の何%か」を求める計算機とは何ですか?

部分と、それが表すパーセントが分かっているときに、全体を求める計算機です。パーセントと部分を入力すると、結果は部分 ÷ (パーセント ÷ 100)になります。「何の15%が3か」なら、3 ÷ 0.15 = 20です。

パーセントと部分から全体を求めるには?

部分を、小数で表したパーセントで割ります。60が全体の25%なら、全体は60 ÷ 0.25 = 240です。簡単な確認方法:25%は四分の一なので、全体は部分の四倍です。

「何は何の何%か」という問いとは何ですか?

未知のものが二つあるため、もう一つの数が与えられるまで解けません。部分と全体が分かれば、パーセントは部分 ÷ 全体 × 100です。部分とパーセントが分かれば、全体は部分 ÷ パーセント × 100です。

1.5は何の0.2%ですか?

答えは750です。0.2%を0.002と書き、1.5 ÷ 0.002 = 750 です。非常に小さいパーセントも同じ規則で、小数点の位置を間違えやすいだけです。

パーセントの増加または減少のあとの元の価格はどう計算しますか?

引き戻したパーセントではなく、倍率で最終値を割ります。10%増えて1,595になった場合、元の値は1,595 ÷ 1.10 = 1,450です。15%減って68になった場合、元の値は68 ÷ 0.85 = 80です。

元の数が分からなくても、増加率や減少率を計算できますか?

直接はできません。変化率は基準に対して測るので、元の値、または新しい値とパーセントの両方が必要で、それで逆算します。元の値がゼロなら、ゼロで割ることになるので変化率は定義されません。代わりに絶対的な変化量を報告してください。