在「原價」「折扣率(%)」「折扣金額」「折扣後價格」4 個欄位中,輸入已知的 2 個,想求的欄位保持空白,再按下「計算」。就會一次算出其餘的值。只有在「再打 ○ 折」的折上折時,才需要填最下面的欄位。
這個頁面可以做什麼
- 在「原價」「折扣率(%)」「折扣金額」「折扣後價格」4 個值中,只要輸入已知的 2 個,馬上就能算出剩下的 2 個
- 「NT$5,000 打 8 折是多少?」「便宜 1000 元是打幾折?」「打 8 折後是 NT$4,000,原價是多少?」,不管是 % 的折扣還是「現折 ○ 元」的固定金額折扣,都能用這一個工具計算
- 像「打 8 折後再打 85 折」這樣的折上折(優惠券疊加等),也能算出最後的價格和實際折扣率
- 這個頁面還整理了公式的淺顯解說,以及可直接複製到 Excel、Google 試算表、Python 使用的公式
這個計算有什麼用?
定價 NT$1,280 的外套打 7 折,要付 \(1280 \times 0.7 = 896\) 元(打 7 折=便宜 30%=實付比率 0.7)。
記住「打 ○ 折就是乘以 0.○」,看到標價和優惠券的瞬間就能估出要付多少。這是每天購物時最常用到的計算。
NT$6,000 的商品有「現折 1000 元」和「85 折」兩張優惠券時,85 折是便宜 \(6000 \times 0.15 = 900\) 元,所以現折 1000 元比較划算。但如果是 NT$8,000 的商品,85 折是便宜 \(8000 \times 0.15 = 1200\) 元,結果就反過來了。
% 的折扣「便宜的金額會隨原價改變」,能把兩種優惠都換成便宜的金額來比較,選優惠券時就不容易吃虧。
「全館 8 折,結帳再 85 折」並不是打 65 折。把實付比率相乘是 \(0.8 \times 0.85 = 0.68\),也就是實際上打 68 折(便宜 32%)。
另外,「從特價再打的折」和「從定價打的折」是兩回事。能用打折的公式自己重新算一遍,就不會被看起來很划算的標示迷惑,能用實際要付的金額來判斷。
「10% 點數回饋」和打 9 折(便宜 10%)並不一樣。例如消費 NT$10,000 拿到價值 1,000 元的點數,而且全部用完,等於用 10,000 元買到總共價值 11,000 元的商品。套用折扣率的公式,\((11000 - 10000) \div 11000 \times 100 \approx 9.1\%\),實際上大約相當於便宜 9.1%(點數用不完或過期的話,還會再縮水)。
把回饋和打折換成同一把尺(折扣率)來比較,就更容易比較各種優惠活動。
NT$50 萬的報價再打 95 折(便宜 5%)時,折扣金額是 \(500000 \times 0.05 = 25000\) 元,請款金額是 NT$475,000。
業務或採購在議價時,會雙向計算「打幾折的話金額是多少」「這個折扣金額相當於幾 %」。把折扣率換成金額,確認對利潤的影響,是處理價格的工作最基本的計算。
公式
符號與用語解說
符號
| \(X\) | X | 原價。打折前的價格(定價、平常的價格)。打折的計算中,比率的基準(基準量)一定是這個原價。 |
| \(P\) | P | 折扣率。表示便宜原價的幾 %。這個頁面用 0~100 的 % 表示(打 8 折就是 \(P = 20\))。 |
| \(D\) | D | 折扣金額。實際便宜的金額本身(不是 %,而是幾元這樣的金額),相當於「現折 ○ 元」的 ○。 |
| \(Y\) | Y | 折扣後價格。打折後實際要付的價格。 |
| \(1 - P \div 100\) | 1 減 P 除以 100 | 實付比率。把原價看成 1 時,打折後剩下的大小(便宜 20% → 0.8,也就是打 8 折)。「乘以」這個比率得到折扣後價格,「除以」這個比率就還原成原價。 |
| \(P_1,\ P_2\) | P 下標 1、P 下標 2 | 折上折中,第 1 次和第 2 次的折扣率。右下角的小數字(下標)用來區分「第幾個」。 |
| \(\%\) | 百分比(percent) | 百分率的符號,表示「在 100 之中佔多少」。語源是拉丁文的 per centum(每一百)。 |
用語
| 折扣率 | 表示便宜原價幾 % 的比率。「便宜 20%」「20% off」「打 8 折」都是折扣率 20% 的意思。 |
| 定價 | 打折前原本的售價。店家也會標示為「原價」「建議售價」等。相當於這個頁面的「原價」。 |
| 打折 | 台灣用「打 ○ 折」表示要付原價的幾成:「打 8 折」是付原價的 80%(便宜 20%),「打 75 折」是付 75%(便宜 25%),「打 5 折」是半價。數字代表的是「要付的比率」,和這個頁面輸入的「便宜幾 %」剛好相反。 |
| 實付比率 | 打折後要付原價的幾倍的比率。便宜 20% 時是 \(1 - 0.2 = 0.8\)(原價的 0.8 倍),也就是「打 8 折」的 8。把打折的計算看成「乘以、除以實付比率」,是這個頁面公式的核心想法。 |
| 折上折 | 像「打 8 折後再打 85 折」這樣,把折扣疊加使用(多次打折、優惠券疊加)。折扣率不能相加,要把實付比率相乘來計算。 |
| 實際折扣率 | 把折上折合起來,用「最後總共比原價便宜幾 %」表示的折扣率。打 8 折後再打 85 折,實際上是便宜 32%(打 68 折),不是便宜 35%。 |
| 基準量 | 比率的計算中,作為比較基準的量。打折的計算中,基準量一定是「打折前的原價」。除數很容易弄錯,請特別注意。 |
| 百分率 | 把基準量看成 100 來表示的比率,又稱百分比,單位是 %。小數的比率乘以 100 就是百分率(0.2 → 20%)。 |
建議先了解的基礎知識
為了讓您「真正理解意義」地使用這個頁面的計算,這裡整理了建議事先理解的基礎知識。
遇到卡關時,回頭複習這些內容是最快的方法。
| 比率(國小五年級,10~11 歲) |
|
| 百分率與「折」「成」(國小五年級,10~11 歲) |
|
| 小數的乘法與除法(國小五、六年級,10~12 歲) |
|
| 反推的想法(國小六年級~國中七年級,11~13 歲) |
|
用 Excel 計算的方法
| 原價 | 5000 |
| 折扣率(%) | 20 |
| 折扣金額 | =B1*B2/100 |
| 原價 | 5000 |
| 折扣金額 | 1000 |
| 折扣後價格 | =B1-B2 |
| 原價 | 5000 |
| 折扣後價格 | 4000 |
| 折扣率(%) | =(B1-B2)/B1*100 |
| 折扣後價格 | 4000 |
| 折扣率(%) | 20 |
| 原價 | =B1/(1-B2/100) |
| 原價 | 5000 |
| 第 1 次的折扣率(%) | 20 |
| 第 2 次的折扣率(%) | 15 |
| 最後價格 | =B1*(1-B2/100)*(1-B3/100) |
公式中的「B1」「B2」是「使用該儲存格的數值」的意思,「*」是乘號,「/」是除號。
例如第 1 個表格的結果會顯示 1000,第 2 個是 4000,第 3 個是 20,第 4 個是 5000,第 5 個是 3400。只要把 B 欄的數值改成自己的價格和折扣率就能使用。
用 Google 試算表計算的方法
| 原價 | 5000 |
| 折扣率(%) | 20 |
| 折扣金額 | =B1*B2/100 |
| 原價 | 5000 |
| 折扣金額 | 1000 |
| 折扣後價格 | =B1-B2 |
| 原價 | 5000 |
| 折扣後價格 | 4000 |
| 折扣率(%) | =(B1-B2)/B1*100 |
| 折扣後價格 | 4000 |
| 折扣率(%) | 20 |
| 原價 | =B1/(1-B2/100) |
| 原價 | 5000 |
| 第 1 次的折扣率(%) | 20 |
| 第 2 次的折扣率(%) | 15 |
| 最後價格 | =B1*(1-B2/100)*(1-B3/100) |
用 Python 計算的方法
# 求折扣金額和折扣後價格(NT$5,000 打 8 折=便宜 20%)
price_before = 5000 # 原價
discount_percent = 20 # 折扣率(%)
discount_amount = price_before * discount_percent / 100
price_after = price_before - discount_amount
print(f"折扣金額是 {discount_amount} 元,折扣後價格是 {price_after} 元")
# 求折扣率(NT$5,000 變成 NT$4,000 是便宜幾 %?)
price_before = 5000 # 原價
price_after = 4000 # 折扣後價格
discount_percent = (price_before - price_after) / price_before * 100
print(f"折扣率是 {discount_percent}%")
# 反推原價(打 8 折後 NT$4,000,原價是多少?)
price_after = 4000 # 折扣後價格
discount_percent = 20 # 折扣率(%)
price_before = price_after / (1 - discount_percent / 100)
print(f"原價是 {price_before} 元")
# 折上折的最後價格(NT$5,000 打 8 折後再打 85 折)
price_before = 5000 # 原價
first_percent = 20 # 第 1 次的折扣率(%)
second_percent = 15 # 第 2 次的折扣率(%)
price_final = price_before * (1 - first_percent / 100) * (1 - second_percent / 100)
print(f"最後價格是 {price_final} 元")
用 LaTeX 等數學式語言的寫法(可直接複製)
D = X × P ÷ 100
D = X \times \frac{P}{100}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi>
<mo>=</mo>
<mi>X</mi>
<mo>×</mo>
<mfrac><mi>P</mi><mn>100</mn></mfrac>
</mrow>
</math>
D = X xx P/100
before*percent/100
amount := before*percent/100;
amount = before*percent/100;
D = X × P/100
Y = X − D
Y = X - D
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mi>X</mi>
<mo>−</mo>
<mi>D</mi>
</mrow>
</math>
Y = X - D
before - amount
after := before - amount;
after = before - amount;
Y = X - D
P = (X − Y) ÷ X × 100
P = \frac{X - Y}{X} \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>X</mi><mo>−</mo><mi>Y</mi></mrow>
<mi>X</mi>
</mfrac>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
P = (X - Y)/X xx 100
(before - after)/before*100
percent := (before - after)/before*100;
percent = (before - after)/before*100;
P = (X - Y)/X × 100
X = Y ÷ (1 − P ÷ 100)
X = \frac{Y}{1 - \frac{P}{100}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>X</mi>
<mo>=</mo>
<mfrac>
<mi>Y</mi>
<mrow>
<mn>1</mn>
<mo>−</mo>
<mfrac><mi>P</mi><mn>100</mn></mfrac>
</mrow>
</mfrac>
</mrow>
</math>
X = Y/(1 - P/100)
after/(1 - percent/100)
before := after/(1 - percent/100);
before = after/(1 - percent/100);
X = Y/(1 - P/100)
Y = X × (1 − P₁ ÷ 100) × (1 − P₂ ÷ 100)
Y = X \times \left(1 - \frac{P_1}{100}\right) \times \left(1 - \frac{P_2}{100}\right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mi>X</mi>
<mo>×</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>−</mo>
<mfrac><msub><mi>P</mi><mn>1</mn></msub><mn>100</mn></mfrac>
<mo>)</mo>
</mrow>
<mo>×</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>−</mo>
<mfrac><msub><mi>P</mi><mn>2</mn></msub><mn>100</mn></mfrac>
<mo>)</mo>
</mrow>
</mrow>
</math>
Y = X xx (1 - P_1/100) xx (1 - P_2/100)
before*(1 - p1/100)*(1 - p2/100)
final := before*(1 - p1/100)*(1 - p2/100);
final = before*(1 - p1/100)*(1 - p2/100);
Y = X × (1 - P_1/100) × (1 - P_2/100)
請 ChatGPT 幫忙計算的方法
你是打折計算的助理。請務必實際執行 Python 程式碼來進行下列計算,並只以執行結果的數值作為回答的依據(請不要用心算或猜測回答)。 1. 新臺幣 5,000 元的商品打 8 折(便宜 20%)時的折扣金額和折扣後價格 2. 新臺幣 5,000 元的商品賣 4,000 元時的折扣率(便宜幾 %) 3. 打 8 折特價 4,000 元的商品的原價 4. 新臺幣 5,000 元的商品「打 8 折後再打 85 折」時的最後價格,以及實際折扣率(便宜幾 %) 請列出計算時使用的公式,以及執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權