PV 函数
更新:2007 年 11 月
返回一个 Double 数值类型值,指定在未来定期、定额支付且利率固定的年金现值。
Function PV( _
ByVal Rate As Double, _
ByVal NPer As Double, _
ByVal Pmt As Double, _
Optional ByVal FV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double
参数
Rate
必选。Double 指定各期利率。例如,如果您获得的汽车贷款的年利率 (APR) 为 10% 并实行按月偿付,则每期利率为 0.1/12,即 0.0083。NPer
必选。Double 指定一笔年金的付款总期数。例如,如果您的汽车贷款期为四年并实行按月偿付,则您总共分 4 x 12(即 48)期偿付。Pmt
必选。Double 指定每期要支付的帐款。付款通常包含在年金有效期内不会更改的本金和利息。FV
可选。Double 指定在最终支付后期望的未来值或现金余额。例如,因为贷款未来值是最终付款之后的值,所以它为 $0。但是,如果您要在 18 年里为子女受教育积攒 50,000 元,则 50,000 元就是未来值。如果省略,则假定为 0。Due
可选。DueDate 枚举类型对象,指定付款截止日期。该参数必须是 DueDate.EndOfPeriod(如果付款截止日期是在付款期末尾),或 DueDate.BegOfPeriod(如果付款截止日期是在付款期开始)。如果省略,则假定为 DueDate.EndOfPeriod。
备注
年金是一笔定期支付的固定数量现金。年金可以是一笔贷款(如住房抵押)或一笔投资(如按月储蓄计划)。
Rate 和 NPer 参数必须使用以相同单位表示的付款周期计算。例如,如果 Rate 按月计算,则 NPer 也必须按月计算。
对于所有参数,支付的现金(如存款)用负数表示;收到的现金(如股息支票)用正数表示。
示例
本示例中,PV 函数返回 1,000,000 元年金的现值,该年金将在以后 20 年中每年提供 50,000 元。假设前提包括:预期的年利率 (APR),付款总期数 (TotPmts),每笔付款额 (YrIncome),投资的未来总值 (FVal),以及一个用于指示每次付款的日期是在付款周期的开始还是末尾的数字 (PayType)。注意,YrIncome 是负数,因为它表示每年从年金中支付的现金。
Sub TestPV()
' Define money format.
Dim Fmt As String = "###,##0.00"
' Annual percentage rate.
Dim APR As Double = 0.0825
' Total number of payments.
Dim TotPmts As Double = 20
' Yearly income.
Dim YrIncome As Double = 50000
' Future value.
Dim FVal As Double = 1000000
' Payment at beginning of month.
Dim PayType As DueDate = DueDate.BegOfPeriod
Dim PVal As Double = PV(APR, TotPmts, -YrIncome, FVal, PayType)
MsgBox("The present value is " & Format(PVal, Fmt) & ".")
End Sub
要求
**模块:**Financial
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)