Seek Returns 标志

Command Palette

Search for a command to run...

如何在 Excel 中计算 FVIFA

如果你想知道一串等额付款——退休金定投、贷款分期、保险保费——在若干年后会累积到多少钱,**年金终值系数(Future Value Interest Factor of an Annuity,简称 FVIFA)**就是那个一乘就出答案的乘数:把它乘以单期付款金额,就得到整串现金流的终值。它是个人理财和公司财务里最常复用的数字之一,在 Excel 里一个单元格就能算出来。

本文会讲清楚 FVIFA 到底代表什么、闭式公式长什么样、怎么在 Excel 里输入、怎么用内置 FV 函数做交叉验证,以及最容易踩坑的一个细节——期末年金(ordinary annuity)和期初年金(annuity due)的区别。

FVIFA 到底衡量什么

FVIFA 是在 nn 期末,于每一期期末存入 1 元、每期按固定利率 rr 计息到整个期限结束时的累计金额。

因为它是基于 1 元定义的,所以本质上是一个乘数。只要算出某个 (r,n)(r, n) 组合对应的 FVIFA,任意等额付款流的终值就是:

终值=FVIFA(r,n)×单期付款\text{终值} = \text{FVIFA}(r, n) \times \text{单期付款}

这正是它的价值所在:给定 (r,n)(r, n) 算一次,之后任意付款金额都能直接套用。

使用前必须盯紧两件事:

  1. 利率和期数的"期"必须一致。 如果按月付款,rr 就要用月利率,nn 用月数;按年付款就都用年。混用是最常见的错误。
  2. FVIFA 默认付款发生在每期的"期末"。 这是"普通年金/期末年金"的约定。如果付款发生在每期期初("期初年金"),系数会略大一些,多出一个 (1+r)(1 + r) 倍。下文专门讲这一点。

FVIFA 公式

闭式表达式为:

FVIFA(r,n)=(1+r)n1r\text{FVIFA}(r, n) = \frac{(1 + r)^{n} - 1}{r}

其中:

直观地理解:第 1 期的付款在账户里待了 n1n - 1 期,复利到 (1+r)n1(1 + r)^{n-1};第 2 期的付款待了 n2n - 2 期;依此类推,最后一期付款刚存进去就到期,完全没有利息。把这个等比数列求和,就得到上面的闭式公式。

在 Excel 中计算 FVIFA

需要的数据

只需要两个数:每期利率和期数。按下表布局:

单元格内容
A1Rate
A20.05
B1Periods
B210
C1FVIFA
C2(输入公式)

分步操作

  1. A2 输入利率。 如果年利率是 5%,输入 0.05。如果按月付款、年利率 5%,应输入 =0.05/12——利率必须和付款频率对齐。
  2. B2 输入期数。 10 年按年付款输入 10;10 年按月付款输入 =10*12
  3. C2 输入 FVIFA 公式:
    =((1+A2)^B2-1)/A2
    
    回车。当 r = 0.05n = 10 时,Excel 返回 12.5779(保留四位小数),这就是 FVIFA。
  4. 可选:计算实际付款流的终值。D1 输入 PaymentD2 输入付款金额(例如 1000);在 E1 输入 Future ValueE2 输入:
    =C2*D2
    
    Excel 返回 12577.89,表示每年年末存 1,000 元、持续 10 年、年利率 5% 时,终值约为 12,577.89 元。
Excel 工作表:C2 中为 FVIFA 公式,下方用 FV 函数交叉验证,右侧给出每年 1,000 元付款流的终值
Excel 工作表:根据每期利率和期数计算 FVIFA,并用内置 FV 函数交叉验证

用 Excel 的 FV 函数交叉验证

Excel 内置的 FV 函数可以直接计算年金终值,不用经过 FVIFA。可以用它来验证你算出的 FVIFA 是否正确。

C4 中输入标签 FV check,在 C5 中输入:

=FV(A2, B2, -1, 0, 0)

参数含义:

返回值应为 12.5779,与闭式公式算出来的 FVIFA 完全一致。如果两者不一致,几乎一定是利率/期数没对齐,或者不小心设成了期初年金。

期末年金 vs. 期初年金

标准 FVIFA 公式假设付款发生在每期期末("期末年金"——多数贷款和债券付息都属于此类)。如果付款发生在每期期初("期初年金"——房租、很多保险保费、一些退休金计划都是这样),每一笔付款都会多享受一个计息周期,系数变为:

FVIFA期初(r,n)=(1+r)n1r×(1+r)\text{FVIFA}_{\text{期初}}(r, n) = \frac{(1 + r)^{n} - 1}{r} \times (1 + r)

在 Excel 中,可以直接在 C2 的公式后面乘 (1+A2)

=((1+A2)^B2-1)/A2*(1+A2)

或者用 FV 函数,把 type 参数设为 1

=FV(A2, B2, -1, 0, 1)

r = 0.05n = 10 时,期初年金的 FVIFA 为 13.2068,比期末版本大约高 5%,正好等于多出的那一个计息周期。

实战例子:退休金定投

假设你在每年年末向退休账户缴 6,000 元,持续 30 年,预期年均收益率 7%。

如果改为每年年初缴款:

多出来的约 4 万元,就是每一笔缴款多享受一整年复利、持续 30 年的价值。这也是一个实实在在的理由:退休账户应该尽量在年初而不是年末缴款。

常见错误

常见问题

FVIFA 和 Excel 的 FV 函数有什么区别?

两者算的是同一件事,但 FV 是一站式函数,直接接收付款金额并返回终值;FVIFA 只是每元付款对应的乘数。如果只需要一个结果,用 FV 更快;如果要把同一个系数套到不同付款金额上,先算 FVIFA 再相乘更干净。

现在还需要查 FVIFA 表吗?

不需要。印刷版 FVIFA 表在电子表格普及之前才有意义,因为公式里的乘方手算很麻烦。有了 Excel,一个单元格就能解决。表格现在主要作为检查答案或做教材题目时的参考。

利率等于零时怎么办?

闭式公式分母是 r,在 r = 0 时没有定义。这种边界情况下 FVIFA 直接等于期数 nn——没有利息时,每期存 1 元、存 nn 期,最后恰好是 nn 元。Excel 的 FV 函数会自动正确处理这种情况;代数公式则需要单独讨论。

FVIFA 能用在不等额付款上吗?

不能。FVIFA 默认每期付款相等。如果付款金额各不相同,要么对每一笔分别算复利,要么在 Excel 中用一列明细现金流配合 NPV/FV 函数处理。

如何处理通胀?

FVIFA 给出的是名义终值。要换算成今天的购买力,可以在公式里用实际(扣除通胀后)利率代替 rr,或者先算出名义终值再除以 (1+π)n(1 + \pi)^{n}π\pi 为每期预期通胀率)。不要在同一个公式里混用名义值和实际值。

为什么 FVIFA 公式看起来像等比数列求和?

因为它就是。每一笔付款享受的计息周期不同——第一笔 n1n - 1 期,最后一笔 0 期——把 (1+r)n1+(1+r)n2++1(1 + r)^{n-1} + (1 + r)^{n-2} + \dots + 1 求和,正好得到闭式 (1+r)n1r\frac{(1 + r)^{n} - 1}{r}。把它当作等比数列来理解,是记住这个公式最轻松的方法。