在 Excel 中,“折现”(Discounting)通常指的是计算现值(Present Value, PV),即将未来的现金流按照一定的折现率折算成当前的价值。
以下是几种常用的方法,从简单公式到内置函数:
使用现值公式(最基础)
这是最通用的数学公式,适用于一次性未来现金流或简单年金。
公式:
= FV / (1 + r)^n
- FV:未来值(Future Value),即未来某一时点的金额。
- r:折现率(Discount Rate),每期利率。
- n:期数(Number of Periods),距离现在的期数。
示例:
假设你 3 年后会收到 10,000 元,年折现率为 5%。
在单元格中输入:
=10000 / (1 + 0.05)^3
结果约为 8,638.38 元。
使用 PV 函数(推荐,最常用)
Excel 内置的 PV 函数专门用于计算现值,适用于定期等额现金流(如年金)或一次性现金流。
语法:
=PV(rate, nper, pmt, [fv], [type])
- rate:每期利率(折现率)。
- nper:总投资/付款期数。
-
pmt:每期支付的金额(如果是单笔未来收款,此项通常留空或为0)。
- fv:未来值(可选,如果不填 pmt,则此项必填;如果填了 pmt,此项通常留空或为0)。
- type:0 或 1,表示期末支付或期初支付(默认 0)。
场景 1:计算单笔未来现金流的现值
假设 5 年后收到 50,000 元,年折现率 6%。
=PV(0.06, 5, 0, 50000)
注意:Excel 的财务函数通常返回负数,表示现金流出(投资成本),如果你希望显示为正数,可以在公式前加负号:
=-PV(...)。
场景 2:计算年金(定期等额现金流)的现值
假设每年年末收到 1,000 元,持续 10 年,年折现率 5%。
=PV(0.05, 10, -1000)
这里
pmt为 -1000(表示现金流入),函数返回正的现值。
使用 NPV 函数(不规则现金流)
如果每期的现金流金额不同(如项目投资的各年净现金流),应使用 NPV 函数计算净现值。
语法:
=NPV(rate, value1, [value2], ...)
重要提示:
NPV函数假设现金流发生在每期期末。
- 初始投资(第 0 年) 不应包含在
NPV函数内,应单独减去。 - 如果现金流发生在期初,需调整折现率或使用
XNPV。
示例:
- 折现率:8%
- 第 0 年投资:-10,000 元
- 第 1 年收益:3,000 元
- 第 2 年收益:4,000 元
- 第 3 年收益:5,000 元
公式:
=NPV(0.08, 3000, 4000, 5000) - 10000
先计算未来现金流的现值总和,再减去初始投资。
使用 XNPV 函数(不规则日期)
如果现金流发生在不固定的日期(如具体到某年某月某日),使用 XNPV 更准确。
语法:
=XNPV(rate, values, dates)
- rate:年折现率。
- values:现金流序列。
- dates:对应的现金流日期序列。
示例:
| 日期 | 现金流 |
|——|——–|
| 2026-01-01 | -10000 |
| 2026-06-30 | 3000 |
| 2026-03-15 | 5000 |
公式:
=XNPV(0.08, B2:B4, A2:A4)
常见注意事项
-
正负号规则:
- Excel 财务函数遵循“现金流入为正,现金流出为负”的原则。
- 如果你希望现值显示为正数,确保输入的参数符号相反(如
pmt为正,PV结果为负;或手动加负号)。
-
利率与期数匹配:
- 如果折现率是年利率,但现金流是每月的,需将年利率除以 12,并将期数乘以 12。
- 年利率 6%,每月现金流,持续 1 年 →
rate=0.06/12,nper=12。
-
折现率的选择:
折现率应反映资金的时间价值和风险,常用 WACC(加权平均资本成本)或行业基准回报率。
| 场景 | 推荐函数/公式 |
|---|---|
| 单笔未来金额折现 | =FV/(1+r)^n 或 =PV(rate, nper, 0, FV) |
| 定期等额现金流(年金) | =PV(rate, nper, pmt) |
| 不规则金额现金流(期末) | =NPV(rate, values) - Initial_Investment |
| 不规则日期现金流 | =XNPV(rate, values, dates) |
根据你的具体需求选择合适的方法即可,如有具体数据,可提供示例,我可帮你写出精确公式。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/480144.html



