涨跌幅公式,以及最常见的那个错误
百分比变化(涨跌幅)比较的是新值和它取代的那个旧值:
百分比变化 =(新值 − 原值)÷ 原值 × 100
两个细节决定你算得对不对。第一,减法顺序决定正负号:从 250 到 300 是正,从 300 到 250 是负。第二,分母必须是原值,也就是起点那个数。拿新值当分母是最经典的错误:50 ÷ 300 = 16.67%,那是把变化反过来量了一遍,不是你实际经历的变化。
所以 250 → 300 是 50 ÷ 250 = 0.2 = +20%;而从 300 掉到 250 是 50 ÷ 300 = 16.67%。同样是 50 个单位,百分比不同,因为基数变了。这种不对称是算术本身的性质,不是什么陷阱:同样大小的涨和跌,本来就不是「同一个百分比」。
为什么「先涨 50% 再跌 50%」回不到原点
从 100 开始,涨 50% 得到 150;再跌 50% 得到 75,而不是 100。第二个百分比是从更大的基数上取的,所以扣掉得更多。要把涨了 r% 的价格还原,需要跌 r ÷ (1 + r/100)%:抵消 +50% 需要 −33.33%,抵消 +25% 需要 −20%,抵消 +10% 需要 −9.09%。
| 变化 | 从 100 出发的结果 | 回到 100 需要 |
|---|---|---|
| +10% | 110 | −9.09% |
| +25% | 125 | −20.00% |
| +50% | 150 | −33.33% |
| +100% | 200 | −50.00% |
| −20% | 80 | +25.00% |
| −50% | 50 | +100.00% |
这张表也是检验折扣的最快方式:打八折并不抵消涨价 20%。先涨 20% 再打八折,售价是原价的 96%,所以商家会说「还是比原价便宜」,而不会说「恢复原价」。
反推模式:从百分比找回原值
反推只有一步之差:不要从变化后的值里减去百分比,而是除以倍数。某商品涨价 20% 后是 300,原价就是 300 ÷ 1.2 = 250。如果从 300 里减去 20% 得 240,那个数只有在涨幅是 25% 时才成立。
写成公式:原值 = 变化后的值 ÷ (1 + 百分比 ÷ 100),反方向则是 变化后的值 = 原值 × (1 + 百分比 ÷ 100)。下跌用负数即可:跌 20% 后是 80,原值就是 80 ÷ 0.8 = 100。这类计算对应「打折前多少钱」「原来的体重是多少」「税前金额是多少」,也是几乎所有人都会用「减法」而不是「除法」算错的地方。
百分比变化 vs 百分比差异
当两个数里没有一个天然的基准时,百分比变化就不适用了——因为把谁写在前面,答案就变。这时要用百分比差异,分母换成两个数的平均值:
百分比差异 = |A − B| ÷ ((A + B) ÷ 2) × 100
250 与 300:绝对差 50,平均值 275,结果 18.18%——一个对称的、唯一的数字;而百分比变化在两个方向上分别是 +20% 和 −16.67%。比较两次测量结果、两份供应商报价、两个班级的平均分时,用百分比差异更合理。
| 口径 | 分母 | 250 与 300 | 什么时候用 |
|---|---|---|---|
| 百分比变化 | 原值 | +20%(250→300)或 −16.67%(300→250) | 有明确的先后顺序 |
| 百分比差异 | 两数的平均值 | 18.18% | 谁都不是基准 |
| 百分比误差 | 真值 / 理论值 | 取决于哪个数是参考值 | 其中一个数已知是正确的 |
「百分点」不等于「百分比」
还有一个几乎每轮新闻都会出现的坑。利率从 4% 涨到 6%,既是上涨 2 个百分点,也是上涨 50%。两句话都对,描述的是同一件事,但不能互相替换。利率、概率、调查占比这类「本身已经是百分比」的数字,通常用百分点来描述,这样分母的问题就消失了;百分比变化则留给价格、体重、数量这类有真实基数的量。
实践中容易算错的几处
- 用新值作分母。只要数值是上升的,这样算出来的百分比一定偏小。
- 把绝对变化当成百分比。「涨了 50」和「涨了 50%」是两句不同的话,工具会把两个数并排给出。
- 直接平均百分比。两个地区分别增长 10% 和 20%,只有在两地基数相同时总体才是 15%;正确做法是先合并数值,再算一次百分比。
- 把连续百分比相加。连续三次上涨 10% 是 1.1 × 1.1 × 1.1 = 33.1%,不是 30%。
- 零和负数做基数。从 0 出发的变化没有百分比答案;涉及负数的变化(亏损从 −50 缩小到 −10)用绝对数描述更清楚。
常见问题解答
从 250 涨到 300,涨幅怎么算?
用新值减原值,再除以原值:(300 − 250) ÷ 250 = 0.2,即 +20%,绝对增加 50。如果除以新值会得到 16.67%,那等于把变化反过来量了一遍。
只知道变化后的值和百分比,怎么求原值?
除以倍数,而不是减去百分比:原值 = 变化后的值 ÷ (1 + 百分比 ÷ 100)。涨价 20% 后是 300,原价是 300 ÷ 1.2 = 250,而不是 300 − 20% = 240。下跌就用负数:跌 20% 后是 80,原值是 80 ÷ 0.8 = 100。
为什么把两个数调换顺序,涨跌幅就不一样?
因为分母变了。250 → 300 以 250 为基准,是 +20%;300 → 250 以 300 为基准,是 −16.67%。如果两个数谁都不是基准,就该用百分比差异——它以平均值为分母,交换顺序结果不变。
百分比变化和百分比差异有什么区别?
百分比变化除以原值,回答「涨跌了多少」;百分比差异除以两数的平均值,回答「这两个数相差多远」。250 与 300 的两种结果分别是 20% 和 18.18%。
250 和 300 的百分比差异是多少?
18.18%。绝对差 50,平均值为 275,所以 50 ÷ 275 × 100 = 18.18%。它比百分比变化 20% 小,因为平均值大于原值。
先涨 20% 再跌 20%,能回到原价吗?
不能。从 100 出发,涨 20% 是 120,再跌 20% 剩 96,比起点低 4%。要抵消 20% 的涨幅需要跌 16.67%(20 ÷ 1.2),要抵消 50% 的涨幅需要跌 33.33%。
「百分点」和「百分比」有什么区别?
某项比率从 4% 升到 6%,既可以说上升 2 个百分点,也可以说上升 50%。百分点描述的是两个百分比之间的算术差,百分比描述的是相对变化。利率、概率和调查占比通常用百分点表述,正是为了避免分母带来的歧义。