VB 财务函数

 

1.IPmt 函数       

返回一个 Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值。
语法
IPmt(rate , per, nper, pv[, fv[, type]])
IPmt 函数有下列命名参数:
部分
描述
rate
必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12,或 0.0083。
per
必要。Double 指定在 nper 间范围 1 中的付款周期。
nper
必要。Double 指定一笔年金的付款总期数。例如,如果在一笔为期四年的汽车贷款中选择按月付款方式,则贷款共有 4 * 12(或 48)个付款期。
pv
必要。Double,指定未来一系列付款或收款的现值。例如,当借钱买汽车时,向贷方所借金额为将来每月偿付给贷方款项的现值。
fv
可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type
可选。Variant 指定贷款到期时间。如果贷款在贷款周期结束时到期,请使用 0。如果贷款在周期开始时到期,请使用 1。如果省略的话,缺省值为 0。
 
说明
年金是指在一段时间内的一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。
在支付期间必须用相同的单位计算 rate nper 参数 。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。
对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。
IPmt 函数示例
本示例使用 IPmt函数来计算每期的付款中有多少是属于利息,其中每期付款金额相同。计算时需给定每期利率(APR / 12),利息的付款周期(Period),付款总期数(TotPmts),贷款现值或本金(PVal),贷款的未来值(FVal)及付款方式,以数值表示期初或期末付款(PayType)。
Dim FVal, Fmt, PVal, APR, TotPmts, PayType, Period, IntPmt, TotInt, Msg
Const ENDPERIOD = 0, BEGINPERIOD = 1   ' 付款方式。
FVal = 0   ' 对贷款而言通常为零。
Fmt = "###,###,##0.00"   ' 定义金额格式。
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100   ' 确保格式正确。
TotPmts = InputBox("How many monthly payments?")
PayType = MsgBox("Do you make payments at end of the month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
For Period = 1 To TotPmts   ' 将所有利息求和。
   IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
   TotInt = TotInt + IntPmt
Next Period
Msg = "You'll pay a total of " & Format(TotInt, Fmt) 
Msg = Msg & " in interest for this loan."
MsgBox Msg   ' 显示结果。
2. IRR 函数      
返回一个 Double,指定一系列周期性现金流(支出或收入)的内部利率。
语法
IRR(values() [, guess])
IRR 函数有下列命名参数:
部分
描述
values()
Guess
可选。Variant,指定 IRR 返回的估算值。如果省略, guess 0.1 (10%)
 
说明
返回的内部利率是在正常的时间间隔内,一笔含有支出及收入的投资得到的利率。
IRR 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入的顺序正确。每一时期的现金流不必像年金那样固定不变。
IRR 是利用叠代进行计算。先从 guess 的值开始, IRR 反复循环进行计算,直到精确度达到 0.00001% 。如果经过 20 次反复叠代测试还不能得到结果,则 IRR 计算失败。
IRR 函数示例
在本示例中, IRR 函数会计算由数组 Values() 内所含一系列期间的5笔现金流量之实质报酬率(internal rate of return)。第一个数组元素为一负数现金流,代表事业初始成本(事业初始成本)。其余4个正数现金流代表后续4年内的收入状况。 Guess 为实质报酬率之估计值。
Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double   ' 声明数组。
Guess = .1   ' Guess  10% 开始。
Fmt = "#0.00"   ' 定义百分比的显示格式。
Values(0) = -70000   ' 事业初始成本。
' 正数现金流代表连续四年的收入状况。
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
RetRate = IRR(Values(), Guess) * 100   ' 计算实质报酬率。
Msg = "The internal rate of return for these five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg   ' 显示实质报酬率。
 
 

3.NPer 函数      

返回一个 Double,指定定期定额支付且利率固定的总期数。
语法
NPer(rate , pmt, pv[, fv[, type]])
NPer 函数有下列命名参数:
部分
描述
rate
必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分之十并按月付款的汽车贷款,则每一期的利率为 0.1/12 或 0.0083。
pmt
必要。Double 指定每一期所付金额。付款金额通常包含本金和利息,且付款金额在年金的有效期间不变。
pv
必要。Double 指定未来一系列付款或收款的现值。例如,当贷款买一辆汽车时,向贷方所借贷的金额为将来每月偿付给贷方款项的现值。
fv
可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。
type
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值