メインコンテンツへ移動

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

結果

84

計算過程

  1. 1 + 40 ÷ 100 = 1.4
  2. 60 × 1.4 = 84
加えた量または引いた量
24
倍率
1.4

1,200ドルの請求書に8.25%の消費税を加えたい、あるいは240ドルの価格を15%下げたい、という場面を考えます。「〇%の」を先に求める手順は省けます。足すなら1.0825を、引くなら0.85を掛ければ、最終的な金額が一度で求まります。

この割合を足す計算機に数と割合を入力し、足すか引くかを選ぶと、新しい合計、足した(引いた)金額、使った倍率が表示されます。下には公式、六つの例題、割合どうしを足したいときの考え方があります。消費税、チップ、昇給のための割合加算計算機としても、割引や削減のための割合減算計算機としても使えます。

割合を足す方法と引く方法

結論: 数に割合を足すには、1に割合(小数)を足した値を掛けます。引くには、1から割合を引いた値を掛けます。80に20%を足すと80 × 1.2 = 96、80から20%を引くと80 × 0.8 = 64です。

数に割合を足す方法

  1. 割合を100で割って小数にします。20%は0.2です。
  2. 1を足して倍率を求めます。1.2です。
  3. 数に倍率を掛けます。80 × 1.2 = 96です。

基準になる数に割合を足すにはどうすればよいでしょうか。上のように一段階で足せます。遠回りの方法、つまり80の20%は16で、80 + 16 = 96とする方法でも同じ答えになります。

数から割合を引く方法

  1. 割合を小数にします。15%は0.15です。
  2. 1から引いて倍率を求めます。0.85です。
  3. 掛けます。240 × 0.85 = 204です。

同じ手順は在庫数のような整数にも使えます。電卓の%キーは機種によって動作が異なるので、倍率を使うのが確実です。240 × 0.85と入力します。

足した割合を元に戻す

20%を足すのは × 1.2、20%を引くのは × 0.8です。足した結果を元に戻すには、倍率で割ります。96 ÷ 1.2 = 80です。逆算の計算機なら、この計算を代わりに行います。

割合どうしを足すことと、数に割合を足すことの違い

数に割合を足すのは、上のように数を拡大縮小する計算です。割合どうしを足すのは別の作業です。10%の増加を二回行うと × 1.1 を二回かけることになり、× 1.21、つまり20%ではなく21%になります。二回目の10%は、増えたあとの金額にかかるからです。異なるグループを表す複数の割合には、平均パーセントの計算機を使います。二つの数の間の変化を求めたいときは、増加率の計算機または減少率の計算機を使います。

ExcelとGoogle Sheetsで割合を足す・引く

A2に数、B2に割合を入れます(セルは割合の形式にするので、15%は0.15として保存されます)。足すなら =A2*(1+B2)、引くなら =A2*(1-B2) と入力します。ほかの数式はExcelのパーセントのガイドで扱っています。

例題:割合を足す・引く

例題1:請求書に消費税を加える

条件

1,200ドルに8.25%を加えます。

答え

倍率は1.0825なので、1,200 × 1.0825 = 1,299ドルです。消費税は99ドルです。

例題2:割引を引く

条件

240ドルから15%を引きます。

答え

倍率は0.85なので、240 × 0.85 = 204ドルです。節約額は36ドルです。

例題3:昇給を加える

条件

給与52,000に3.5%を加えます。

答え

倍率は1.035なので、52,000 × 1.035 = 53,820で、1,820の昇給です。

例題4:チップを加える

条件

64ドルの請求に18%を加えます。

答え

倍率は1.18なので、64 × 1.18 = 75.52ドルです。チップは11.52ドルです。

例題5:数量から12.5%を引く

条件

480から12.5%を引きます。

答え

倍率は0.875なので、480 × 0.875 = 420で、60少なくなります。

例題6:続けて二回の変化

条件

100から始めて10%を足し、さらに10%を足します。100 × 1.1 × 1.1 = 121です。

答え

20%を足してから20%を引きます。100 × 1.2 × 0.8 = 96で、最初より4%低くなります。

倍率の早見表

足す列または引く列の値を掛けます。

倍率の早見表
割合足す(掛ける倍率)引く(掛ける倍率)
5%1.050.95
10%1.10.9
12.5%1.1250.875
15%1.150.85
20%1.20.8
25%1.250.75
50%1.50.5

コード:JavaScriptとPythonで割合を足す・引く

どちらの版も上の例(1,299、204、53,820、75.52、420、121、96)を再現し、数値以外の入力を拒否し、二つのモードだけを受け付けます。

JavaScript

JavaScript
function finite(name, v) {  if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);}​function places(decimals) {  if (!Number.isInteger(decimals) || decimals < 0 || decimals > 10) throw new RangeError("decimals must be a whole number from 0 to 10");  return decimals;}​// mode: "add" or "subtract"export function applyPercent(value, percent, mode = "add", decimals = 2) {  finite("value", value);  finite("percent", percent);  if (mode !== "add" && mode !== "subtract") throw new RangeError('mode must be "add" or "subtract"');  const d = places(decimals);  const multiplier = mode === "add" ? 1 + percent / 100 : 1 - percent / 100;  const result = value * multiplier;  return {    result: Number(result.toFixed(d)),    change: Number((result - value).toFixed(d)),    multiplier: Number(multiplier.toFixed(10)),  };}​// Two changes in a row, e.g. +10% then +10%export function chainPercent(value, steps, decimals = 2) {  finite("value", value);  const d = places(decimals);  let result = value;  for (const [mode, percent] of steps) {    finite("percent", percent);    if (mode !== "add" && mode !== "subtract") throw new RangeError('mode must be "add" or "subtract"');    result *= mode === "add" ? 1 + percent / 100 : 1 - percent / 100;  }  return Number(result.toFixed(d));}

Python

Python
from decimal import Decimal, ROUND_HALF_UPimport 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 _round(x, decimals):    if not isinstance(decimals, int) or isinstance(decimals, bool) or not 0 <= decimals <= 10:        raise ValueError("decimals must be a whole number from 0 to 10")    return x.quantize(Decimal(1).scaleb(-decimals), rounding=ROUND_HALF_UP)​​def _factor(mode, percent):    if mode not in ("add", "subtract"):        raise ValueError('mode must be "add" or "subtract"')    p = _num("percent", percent) / 100    return 1 + p if mode == "add" else 1 - p​​def apply_percent(value, percent, mode="add", decimals=2):    v = _num("value", value)    m = _factor(mode, percent)    result = v * m    return {        "result": _round(result, decimals),        "change": _round(result - v, decimals),        "multiplier": m,    }​​def chain_percent(value, steps, decimals=2):    result = _num("value", value)    for mode, percent in steps:        result *= _factor(mode, percent)    return _round(result, decimals)

chainPercent(100, [["add", 10], ["add", 10]]) は121を、chainPercent(100, [["add", 20], ["subtract", 20]]) は96を返します。二回の変化の例です。丸めるのは表示のときだけにします。Python版は学校で一般的な四捨五入で丸め、Decimal の値を返すので、1,299は1299.00と表示されます。JavaScriptの toFixed は二進数の値に対して働くため、ちょうど中間になる結果は、学校の規則なら切り上げるところで切り捨てられることがあります。

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

  • 値の計算はブラウザー内で行われます。入力した数値がサーバーに送られたり、保存されたりすることはありません。
  • 入力欄は数値のみ受け付けます。割合には末尾に%記号を付けることもできます。文字、空欄、NaN、Infinityはメッセージを表示して拒否され、入力した内容がコードとして実行されることは一切ありません。
  • 負の割合も受け付けられ、向きが逆になります。-10%を足すのは、10%を引くのと同じです。
  • 100%より大きい割合を引くと、合計は負の数になります。計算機は入力をブロックせず、短い注記つきで結果を示します。それが正しい計算だからです。
  • 小数点以下の桁数は、0から10までの整数に限られます。
  • カンマの直後にちょうど3桁が続く場合は千の位の区切りとして読み、1,200 は 1200 になります。それ以外のカンマは小数点として扱うため、12,50 は 12.50 で、0 で始まる 0,500 のような数は小数として読みます。1.234,5 のような混在形式や 1,2,3 のようなあいまいな入力は、推測せずに拒否します。桁区切りの空白(改行されない空白を含む)は無視します。

割合を足す・引くときのよくある間違い

割合を足す・引くときのよくある間違い
間違い何が起こるか計算機の動作
数の〇%そのものを答えとして報告する240の15%は36ですが、240から15%を引くと204です新しい合計と金額を別々に示します
割合をそのまま数として足す80 + 20は100で、96になりません先に倍率に変換します
引くときに倍率を間違える80 × 1.2は96で、20%を引いた64にはなりません引くときは1から小数を引いた値を使います
同じ割合を足してから引く100に+20%、続けて-20%をすると、100ではなく96になります変化する基準から倍率をつなげて計算します
10%の増加二回を20%として足す10%の増加を続けて二回行うと21%になります1.1に1.1を掛けます
表計算の数式で15%ではなく15と入力するB2が15のとき =A2*(1+B2) は、240に対して276ではなく3,840になります割合をパーセントとして受け取ります
倍率を丸める1.0825を1.08に短縮すると、1,299ではなく1,296になります丸めるのは最終的な合計だけです
負の合計を誤りと見なす50から120%を引くと-10になります注記つきで表示します

どの計算が必要ですか?

この五つの作業は似た数を使いますが、必要な公式は異なります。

どの計算が必要ですか?
求めたいもの公式例行う場所
p%を足した、または引いたあとの新しい合計数 × (1 ± p ÷ 100)240から15%を引くと204このページ
数のp%数 × p ÷ 100240の15% = 36ホームの計算機
割引後のセール価格価格 × (1 − 割引率 ÷ 100)240ドルの15%引き = 204ドル割引率計算機
二つの数の間の割合(新しい値 − 元の値) ÷ 元の値 × 100240に対する204は-15%です減少率の計算機
割合を足す前の元の値新しい値 ÷ 倍率96 ÷ 1.2 = 80逆算の計算機

割合が割引のときは、一行目と三行目は同じ数になります。値札から始めてセール価格を求めたいときは、割引率の計算機を使います。

よくある質問

割合はどうやって足しますか?

数に割合を足すには、1に割合(小数)を足した値を掛けます。80に20%を足すと、80 × 1.2 = 96です。

数から割合を引くにはどうしますか?

数に、1から割合(小数)を引いた値を掛けます。240から15%を引くなら、0.85を掛けます。240 × 0.85 = 204です。

整数から割合を引くにはどうしますか?

整数でも価格でも方法は同じで、1から割合(小数)を引いた値を掛けます。480から12.5%を引くと、480 × 0.875 = 420です。49.99ドルの15%引きなら、49.99 × 0.85 = 42.49ドルで、セント単位に丸めた結果です。

電卓で割合を引くにはどうしますか?

%キーは機種によって動作が異なるので、倍率を使います。240から15%を引くには、240 × 0.85 = 204と入力します。代わりに15%を足すなら、240 × 1.15 = 276と入力します。

電卓なしで数に割合を足すにはどうしますか?

小数点を一桁左に動かして10%を求め、それを何倍かして、元の数に足します。80に20%を足すなら、10%は8、20%は16で、80 + 16 = 96です。

価格に割合を足すにはどうしますか?

価格に、1に税率を足した値を掛けます。1,200ドルに8.25%の消費税を加えるなら、1,200 × 1.0825 = 1,299ドルで、消費税は99ドルです。

割合は足し算できますか?

同じ全体に対する割合どうしの場合に限ります。ひとつの市場の25%と30%を合わせると、その55%になります。続けて起こる変化率は、それぞれ異なる基準にかかるので足し算できません。割合の合計、平均、組み合わせについては、平均パーセントの計算機がそれぞれの場合を扱います。