割引計算

100の20%引きは80です。20%と10%を重ねると28%引きになり、支払いは70ではなく72です。20%引きで80になった商品の元の価格は100です。

問題は解決しましたか?
Googleで優先表示

使い方

  1. 「売値」で元の価格と割引率を入力します。割引が重なるときは、2つ目、3つ目の割引も入れます。
  2. 支払う金額、割引額、実質の割引率を確認します。重ね掛けの場合は計算の各段階も表示されます。
  3. 売値と割引率がわかっているなら「割引前の価格」、2つの価格がわかっているなら「割引率」を使います。

計算方法

売値 = 元の価格 × (1 − 割引率 ÷ 100)。たとえば100の20%引きは 100 × 0.80 = 80 で、20安くなります。

割引の重ね掛けは掛け算になります:最終価格 = 元の価格 × (1 − d1) × (1 − d2) × (1 − d3)。実質の割引率 = 1 − (1 − d1)(1 − d2)(1 − d3)。

したがって20%と10%は 1 − 0.80 × 0.90 = 28% で、30%にはなりません。2つ目の割引は、すでに安くなった価格にかかるからです。

売値から元の価格:元の価格 = 売値 ÷ (1 − 割引率 ÷ 100)。20%引きで80なら 80 ÷ 0.80 = 100 です。

割引率 = (元の価格 − 売値) ÷ 元の価格 × 100。重ね掛けの順番を入れ替えても最終価格は変わりません。掛け算は順序によらないからです。

20%と10%が30%にならない理由

割引はそれぞれ、直前の割引で下がった後の価格にかかります。100の20%引きで80になり、その80の10%(8)を引くと72です。合計の割引は30ではなく28です。

下の表に、実質の合計割引と、割引率を単純に足した数字を並べました。50%を2回重ねても無料にはなりません。100は50になり、次に25になります。

元の価格割引最終価格実質の合計割引単純合計
10020%8020%20%
10020% + 10%7228%30%
10050% + 50%2575%100%
20030% + 20% + 10%100.849.6%60%
8015% + 15%57.827.75%30%

割引前の価格を求める

20%引きで80になった商品の元の価格は、80に20%を足した値ではありません。20%は元の価格から引かれたものなので、元の価格 = 80 ÷ (1 − 0.20) = 100 です。80に20%を足すと96になり、誤りです。

割引率を求める

割引率(%) = (元の価格 − 売値) ÷ 元の価格 × 100。100から80なら20%です。売値が元の価格より高いと割引率はマイナスになり、値上げを意味します。

端数の扱い

価格は小数第2位まで表示しますが、計算は全桁で行うので、割引を何度重ねても端数の誤差は積み上がりません。実際の店では各段階で端数処理をするため、レジの合計と少しずれることがあります。

よくある質問

20%引きと10%引きを合わせると30%引きですか?

いいえ。2つ目の割引はすでに下がった価格にかかります。20%の次に10%なら合計で28%引きになり、100の商品は70ではなく72で買うことになります。

割引の順番で結果は変わりますか?

変わりません。10%の次に20%でも、20%の次に10%でも最終価格は同じです。どちらも0.90と0.80を掛けるだけだからです。

売値から元の価格を求めるには?

売値を、1から割引率(小数)を引いた数で割ります。20%引きなら0.80で割ります。売値に20%を足すと、正しい値になりません。

2つの価格から何%引きかを求めるには?

元の価格から売値を引き、元の価格で割って100を掛けます。59.99が41.99になったなら、およそ30%引きです。

割引が割合ではなく定額のときは?

そのまま引き算します。100から15のクーポンなら85です。割合で知りたいときは「割引率」モードに100と85を入れてください。

どの通貨でも使えますか?

使えます。同じ通貨の数字だけを入力すると、結果も同じ単位で出ます。