Finance 类
Finance 类是 BIRT 提供的 JavaScript 类。这个类提供了一组可用来执行各种常用商业计算的静态财务函数。财务值可以表示为浮点值。应用程序不能创建此类的实例。
Finance.ddb
使用双倍余额递减法,此函数返回资产在给定单一期间内的折旧额。双倍余额递减折旧法是一种加速折旧法,与折旧额固定的直线折旧法(SLN)相比,此折旧法在固定资产使用期限早期产生较高的折旧额,从而提高节税额。
此函数使用以下公式来计算单一期间内的折旧额:
depreciation = (( initialCost - totalDepreciationFromPriorPeriods) * 2) /
assetLifespan
下列规则适用:
assetLifespan 和 singlePeriod 必须以相同的时间单位计。
所有参数都必须是正数。
语法
ddb( initialCost, salvageValue, assetLifespan, singlePeriod )
参数
initialCost
此数字表达式指定资产的初始成本。
salvageValue
此数字表达式指定资产在其使用期限结束时的价值。
assetLifespan
此数字表达式指定资产使用期限的长度。
必须使用 singlePeriod 的计量单位来提供此值。例如,如果 singlePeriod 以月份计,则 assetLifespan 必须也以月份计。
singlePeriod
此数字表达式指定 DDB 将计算折旧额的期间。
必须使用 assetLifespan 的计量单位来提供此值。例如,如果 assetLifespan 以月份计,则 singlePeriod 必须表示一个月的期间。
示例
以下示例使用双倍余额递减法来计算购买价为 $1400、折余值为 $200 并且使用期限估计为 10 年的新机器在第一年的折旧额。结果是 $280,将其赋予变量 Year1Deprec:
Year1Deprec = Finance.ddb(1400, 200, 10, 1)
另请参阅
Finance.sln 函数
Finance.syd 函数
Finance.fv
基于固定利率及等额分期付款,此函数返回年金的终值。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。年金的终值是指最后一次付款后的现金余额。
例如,如果存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用,则此计划的终值是 $75,000。
或者,如果贷款 $11,000,则贷款的终值是 $0.00。对于所有典型贷款来说,情况均如此。
下列规则适用:
ratePerPeriod、numberPayPeriods 和 eachPmt 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
fv( ratePerPeriod, numberPayPeriods, eachPmt, presentValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
eachPmt
此数字表达式指定各期付款额。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 以月份计,则 eachPmt 必须是每月付款额。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。该 $100 的现值大约是 $23.94。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您的女儿出生时您在储蓄帐户存入 $10,000。如果此帐户的复合日利率为 5.7%,那么,当她 18 岁上大学时,此帐户的余额是多少呢?答案是 $27,896.60,将其赋予变量 TotalValue:
TotalValue = Finance.fv(0.057/365, 18*365, 0, -10000, 1)
以下示例与上一个示例几乎完全相同。但是,在本例中,假定利率是复合月利率而不是复合日利率,并且您决定每月在该帐户中另存入 $55。在本例中,赋予 TotalValue 的终值是 $48,575.82:
TotalValue = Finance.fv(0.057/12, 18*12, -55, -10000, 1)
另请参阅
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.ipmt
基于固定利率及等额分期付款,返回年金在给定期间内的利息偿还额。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。每笔付款都由两部分组成,即本金和利息。iPmt 返回付款的利息部分。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
ipmt( ratePerPeriod, singlePeriod, numberPayPeriods, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
singlePeriod
此数字表达式指定特定的期间,将确定该期的利息。提供的此值必须是 1 到 numberPayPeriods。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,还款期为 36 个月,APR 为 11.5%,并且在每个月的第一天还款。在第 5 次还款时,支付了多少利息?答案是 $171.83,并赋予 Interest5:
Interest5 = Finance.ipmt(.115/12, 5, 36, -20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.irr
此函数返回现有数组中一系列定期现金流、付款和收款的内部收益率。内部收益率是由定期进行的付款和收款组成的投资的利率。每一期的现金流不必是定额的,年金亦如此。
IRR 与净现值函数 NPV 紧密相关,这是因为 IRR 计算的收益率是与零净现值对应的利率。IRR 是以迭代方式计算的。以 <starting guess> 值开始,它在结果精确到 0.00001% 之前重复进行计算。如果在 20 次迭代后仍无法确定结果,该函数就会失败。
下列规则适用:
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
cashArray 必须至少包含一个负数和一个正数。
如果在同一期内既有正现金流(即收款)也有负现金流(即付款),那么对该期使用净流。
如果在特定期间内没有现金流或净现金流,则必须输入 0(零)作为该期间的值。
下列提示可能很有用:
因为 IRR 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序输入付款和收款额。
如果 IRR 失败,请尝试使用另一个 startingGuess 值。
语法
irr( cashArray, startingGuess )
参数
cashArray
指定代表现金流值的现有双精度数组的名称。cashArray 必须至少包含一个正数值(即收款)和一个负数值(即付款)。
startingGuess
数字表达式。指定 IRR 的估计返回值。在大多数情况下,此值为 0.1,即 10%。
示例
以下示例假定已使用一系列现金流值填充了数组 myArray。将内部收益率赋予变量 IRRValue:
IRRValue = Finance.irr( myArray, .1 )
另请参阅
Finance.mirr 函数
Finance.npv 函数
Finance.rate 函数
Finance.mirr
此函数返回现有数组中一系列定期现金流或者付款和收款的修正内部收益率。修正内部收益率是指付款和收款利率不同时的内部收益率(IRR)。MIRR 同时考虑投资成本(即 financeRate)和现金再投资收益率(即 reinvestmentRate)。
下列规则适用:
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
cashArray 必须至少包含一个负数和一个正数。
如果在同一期内既有正现金流(即收款)也有负现金流(即付款),那么对该期使用净流。
如果在特定期间内没有现金流或净现金流,则必须输入 0(零)作为该期间的值。
因为 MIRR 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序输入付款和收款额。
语法
mirr( cashArray, financeRate, reinvestmentRate )
参数
cashArray
此双精度数组指定现有现金流值数组的名称。此数组必须至少包含一个正数值(即收款)和一个负数值(即付款)。
financeRate
此数字表达式指定作为资金成本支付的利率。此值必须是表示百分比的十进制值。
reinvestmentRate
此数字表达式指定现金再投资的收益率。此值必须是表示百分比的十进制值。
示例
以下示例假定已使用一系列现金流值填充了数组 myArray。如果要支付的资金利率是 12%,收入的收益率是 11.5%,那么修正内部收益率是多少?将答案赋予变量 MIRRValue:
MIRRValue = Finance.mirr( myArray, 0.12, 0.115 )
另请参阅
Finance.irr 函数
Finance.rate 函数
Finance.nper
基于固定利率及等额分期付款,返回年金的期数。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。
下列规则适用:
ratePerPeriod 和 eachPmt 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
nper( ratePerPeriod, eachPmt, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 eachPmt 的计量单位来提供此值。例如,如果 eachPmt 是月付款额,则 ratePerPeriod 必须是月利率。
eachPmt
此数字表达式指定各期付款额。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 以月份计,则 eachPmt 必须是每月付款额。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,APR 为 11.5%,并且在每个月的第一天还款。如果每期还款额为 $653.26,那么,还清贷款需要多少期?答案是 36,将其赋予变量 NumPeriods。
NumPeriods = Finance.nper(.115/12, -653.26, 20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.npv
基于给定利率,此函数返回一系列定期可变现金流(包括正现金流和负现金流)的净现值。PV 确定一系列定额付款的现值,而 NPV 确定一系列可变付款的现值。净现值是与某项投资相关联的所有未来现金流减去所有初始成本后的结余。换言之,如果将这笔资金按指定的利率 <rate> 存入银行并且存款期限为由现金流预定,则它产生的损益与所讨论的现金流系列产生的损益相同。
下列规则适用:
NPV 投资在数组中第一个现金流值的日期之前开始一期,并在最后一个现金流值的日期使该期结束。
如果第一个现金流在第一期开始时发生,则必须将它的值与 NPV 返回的值相加,而且不能将其包括在 cashArray 的现金流值中。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
cashArray 必须至少包含一个负数和一个正数。
如果在同一期内既有正现金流(即收款)也有负现金流(即付款),那么对该期使用净流。
如果在特定期间内没有现金流或净现金流,则必须提供 0(零)作为该期间的值。
因为 NPV 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序提供付款和收款额。
语法
npv( rate, cashArray )
参数
rate
此数字表达式指定某一期的贴现率。此值必须是十进制值。
cashArray
此双精度数组指定现有现金流值数组的名称。此数组必须至少包含一个正数值(即收款)和一个负数值(即付款)。
示例
以下示例假定已使用一系列现金流值填充了数组 myArray,并且利率是 11%。净现值是多少?将答案赋予变量 NetPValue:
NetPValue = Finance.npv( .11, MyArray )
Finance.percent
此函数计算两个数值的比率,以百分比计。此函数能够处理两项与百分比的计算相关的关键常规任务:处理分子为零以及处理空值。
语法
percent( denom, num, valueIfZero )
参数
denom
分母。此参数必须包含数字值。
num
分子。此参数必须包含数字值。此值可以是零。
valueIfZero
当分子为零时返回的百分比值。缺省值为空。
返回
两个数值的比率,以百分比计。如果分子为零,则返回 0。如果两个参数中任何一个为空,则返回空。
示例
pct = Finance.percent( 20, 50 ) // 返回 40
pct = Finance.percent( 20, 0 ) // 返回 0
Finance.pmt
基于固定利率及等额分期付款,返回年金的每期付款额。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
pmt( ratePerPeriod, numberPayPeriods, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,还款期为 36 个月,APR 为 11.5%,并且在每个月的第一天还款。每期付款额是多少呢?答案是 $653.26,将其赋予 PaymentAmt:
PaymentAmt = Finance.pmt(.115/12, 36, -20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.ppmt
基于固定利率及等额分期付款,返回年金在给定期间内的本金偿还额。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。年金的每笔付款由两部分组成:本金和利息。ppmt 返回付款的本金部分。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如星期、月份或年份。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
ppmt( ratePerPeriod, singlePeriod, numberPayPeriods, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
singlePeriod
此数字表达式指定特定的期间,将确定该期的利息。此值必须是 1 到 numberPayPeriods。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,还款期为 36 个月,APR 为 11.5%,并且在每个月的第一天还款。在第 5 次还款时,支付了多少本金?答案是 $481.43,将其赋予 Principal5:
Principal5 = Finance.ppmt(.115/12, 5, 36, -20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.pv
基于固定利率及未来的等额分期付款,此函数返回年金的现值。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。现值是组成年金的未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。因此,该 $100 的现值大约是 $23.94。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
pv( ratePerPeriod, numberPayPeriods, eachPmt, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
eachPmt
此数字表达式指定各期付款额。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 以月份计,则 eachPmt 必须是每月付款额。
futureValue
数字表达式。此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初还是期末进行。此值必须是 1(表示期初)或 0(表示期末)。
示例
以下示例假定您正在考虑购买面值为 $1000 的企业债券。此债券年息为 $100,15 年到期,并且在计息年度结束时派息。类似债券的到期收益率是 12.5%。此债券的合理价格是多少?换而言之,它的现值是多少?答案是 $834.18,将其赋予变量 PresentValue:
PresentValue = Finance.pv(.125, 15, 100, 1000, 0)
以下示例假定您购买彩票中奖。奖金为 $10,000,000,分 20 年支付,每年支付 $500,000,一年以后开始支付。如果年复合利率为 9.5%,此彩票今天的价值是多少呢?答案是 $4,406,191.06,将其赋予 PresentValue:
PresentValue = Finance.pv(.095, 20, 50000,10000000, 0)
以下示例假定您要分三年储蓄 $11,000。如果 APR 是 10.5%,并且您计划每月存入 $325 并在月初存入,那么,要实现目标,帐户里最初应该有多少起始资金呢?答案是 $2,048.06,将其赋予 StartValue。注意,eachPmt 是负数,这是因为它表示要支付的现金:
StartValue = Finance.pv(.105/12, 3*12, -325, 11000, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.rate 函数
Finance.rate
此函数返回年金在每一期的利率。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。
Rate 以迭代方式计算年金的利率。以 startingGuess 值开始,它在结果精确到 0.00001% 之前重复进行计算。如果在 20 次迭代后仍无法确定结果,该函数就会失败。
下列规则适用:
numberPayPeriods 和 eachPmt 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
下列提示可能很有帮助:
因为 Rate 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序提供付款和收款额。
如果 Rate 失败,请尝试使用另一个 startingGuess 值。
语法
rate( numberPayPeriods, eachPmt, presentValue, futureValue, whenDue, startingGuess )
参数
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 eachPmt 的计量单位来提供此值。例如,如果 eachPmt 是月付款额,则 numberPayPeriods 必须以月份计。
eachPmt
此数字表达式指定各期付款额。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 eachPmt 必须是每月付款额。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。因此,在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初还是期末进行。此值必须是 1(表示期初)或 0(表示期末)。
startingGuess
此数字表达式指定 Rate 的估计返回值。在大多数情况下,此值为 0.1,即 10%。
示例
以下示例假定您借贷了 $20,000,并且分三年还清贷款。如果每个月偿还 $653.26 并且在月初支付,那么,您支付的利率(APR)是多少呢?答案是 .115(即 11.5%),将其赋予变量 InterestRate。注意,Rate 的返回值必须乘以 12 才能得到年利率:
InterestRate = Finance.rate(3*12, -653.26, 20000, 0, 1, .1) * 12
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.sln
此函数返回单个时期资产的直线折旧额。直线折旧法最古老并且最简单的固定资产折旧法。它将资产帐面值减去预计余值,并将它们的差值均匀地分配到资产使用期限的各个期间。此过程用于在计算所得税之前对收入收取固定年度折旧费用。所有参数都必须是正数。
语法
sln( initialCost, salvageValue, assetLifespan )
参数
initialCost
此数字表达式指定资产的初始成本。
salvageValue
此数字表达式指定资产在其使用期限结束时的价值。您可以输入一个余值以查看直线折旧额与余值的偏差,也可以通过输入余值 0(零)以返回没有余值的直线折旧额。
assetLifespan
此数字表达式指定资产使用期限的长度。必须使用函数的返回计量单位来提供此值。例如,如果要让 SLN 确定资产的年折旧额,则 assetLifespan 必须以年计。
示例
以下示例使用直线折旧法来计算购买价为 $1400、余值为 $200 并且使用期限估计为 10 年的新机器的年折旧额。结果是每年 $120,将其赋予 AnnualDeprec:
AnnualDeprec = Finance.sln(1400, 200, 10)
另请参阅
Finance.ddb 函数
Finance.syd 函数
Finance.syd
此函数返回资产在所指定期间内的年限总和折旧额。年限总和折旧法是一种加速折旧法,与折旧额固定的直线折旧法(SLN)相比,此折旧法在固定资产使用期限的早期产生较高的折旧额,从而提高节税额。
此函数根据使用期限年数的数字之和的倒数比例来计算折旧额。例如,如果资产的使用期限为 4 年,数字 4、3、2、1 相加得 10。于是,第一年的 SYD 是资产的可折旧成本的 4/10,即成本减去余值。第二年的比率为 3/10,依此类推。
下列规则适用:
singlePeriod 和 assetLifespan 必须以相同的时间单位计。
所有参数都必须是正数。
语法
syd( initialCost, salvageValue, assetLifespan, singlePeriod )
参数
initialCost
此数字表达式指定资产的初始成本。
salvageValue
此数字表达式指定资产在其使用期限结束时的价值。
assetLifespan
此数字表达式指定资产使用期限的长度。必须使用 singlePeriod 的计量单位来提供此值。例如,如果 singlePeriod 以月份计,则 assetLifespan 必须也以月份计。
singlePeriod
此数字表达式指定一个期间,SYD 将计算此期间内的折旧额。必须使用 assetLifespan 的计量单位来提供此值。例如,如果 assetLifespan 以月份计,则 singlePeriod 必须表示一个月的期间。
示例
以下示例使用年限总和折旧法来计算购买价为 $1400、余值为 $200 并且使用期限估计为 10 年的新机器在第一年的折旧额。结果为 $218.18,将其赋予 Year1Deprec。
Year1Deprec = Finance.syd(1400, 200, 10, 1)
注意:
结果等于 10/55 * $1,200
55 = 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1
在这一系列的数字中,第 1 期(第一年)的数字是 10
以下示例计算同一资产在其使用期限内第二年的折旧额。结果为 $196.36,将其赋予 Year2Deprec。
Year2Deprec = Finance.syd(1400, 200, 10, 2)
注意:
结果等于 9/55 * $1,200
55 = 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1
在这一系列的数字中,第 2 期(第二年)的数字是 9
另请参阅
Finance.ddb 函数
Finance.sln 函数
Finance 类是 BIRT 提供的 JavaScript 类。这个类提供了一组可用来执行各种常用商业计算的静态财务函数。财务值可以表示为浮点值。应用程序不能创建此类的实例。
Finance.ddb
使用双倍余额递减法,此函数返回资产在给定单一期间内的折旧额。双倍余额递减折旧法是一种加速折旧法,与折旧额固定的直线折旧法(SLN)相比,此折旧法在固定资产使用期限早期产生较高的折旧额,从而提高节税额。
此函数使用以下公式来计算单一期间内的折旧额:
depreciation = (( initialCost - totalDepreciationFromPriorPeriods) * 2) /
assetLifespan
下列规则适用:
assetLifespan 和 singlePeriod 必须以相同的时间单位计。
所有参数都必须是正数。
语法
ddb( initialCost, salvageValue, assetLifespan, singlePeriod )
参数
initialCost
此数字表达式指定资产的初始成本。
salvageValue
此数字表达式指定资产在其使用期限结束时的价值。
assetLifespan
此数字表达式指定资产使用期限的长度。
必须使用 singlePeriod 的计量单位来提供此值。例如,如果 singlePeriod 以月份计,则 assetLifespan 必须也以月份计。
singlePeriod
此数字表达式指定 DDB 将计算折旧额的期间。
必须使用 assetLifespan 的计量单位来提供此值。例如,如果 assetLifespan 以月份计,则 singlePeriod 必须表示一个月的期间。
示例
以下示例使用双倍余额递减法来计算购买价为 $1400、折余值为 $200 并且使用期限估计为 10 年的新机器在第一年的折旧额。结果是 $280,将其赋予变量 Year1Deprec:
Year1Deprec = Finance.ddb(1400, 200, 10, 1)
另请参阅
Finance.sln 函数
Finance.syd 函数
Finance.fv
基于固定利率及等额分期付款,此函数返回年金的终值。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。年金的终值是指最后一次付款后的现金余额。
例如,如果存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用,则此计划的终值是 $75,000。
或者,如果贷款 $11,000,则贷款的终值是 $0.00。对于所有典型贷款来说,情况均如此。
下列规则适用:
ratePerPeriod、numberPayPeriods 和 eachPmt 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
fv( ratePerPeriod, numberPayPeriods, eachPmt, presentValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
eachPmt
此数字表达式指定各期付款额。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 以月份计,则 eachPmt 必须是每月付款额。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。该 $100 的现值大约是 $23.94。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您的女儿出生时您在储蓄帐户存入 $10,000。如果此帐户的复合日利率为 5.7%,那么,当她 18 岁上大学时,此帐户的余额是多少呢?答案是 $27,896.60,将其赋予变量 TotalValue:
TotalValue = Finance.fv(0.057/365, 18*365, 0, -10000, 1)
以下示例与上一个示例几乎完全相同。但是,在本例中,假定利率是复合月利率而不是复合日利率,并且您决定每月在该帐户中另存入 $55。在本例中,赋予 TotalValue 的终值是 $48,575.82:
TotalValue = Finance.fv(0.057/12, 18*12, -55, -10000, 1)
另请参阅
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.ipmt
基于固定利率及等额分期付款,返回年金在给定期间内的利息偿还额。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。每笔付款都由两部分组成,即本金和利息。iPmt 返回付款的利息部分。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
ipmt( ratePerPeriod, singlePeriod, numberPayPeriods, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
singlePeriod
此数字表达式指定特定的期间,将确定该期的利息。提供的此值必须是 1 到 numberPayPeriods。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,还款期为 36 个月,APR 为 11.5%,并且在每个月的第一天还款。在第 5 次还款时,支付了多少利息?答案是 $171.83,并赋予 Interest5:
Interest5 = Finance.ipmt(.115/12, 5, 36, -20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.irr
此函数返回现有数组中一系列定期现金流、付款和收款的内部收益率。内部收益率是由定期进行的付款和收款组成的投资的利率。每一期的现金流不必是定额的,年金亦如此。
IRR 与净现值函数 NPV 紧密相关,这是因为 IRR 计算的收益率是与零净现值对应的利率。IRR 是以迭代方式计算的。以 <starting guess> 值开始,它在结果精确到 0.00001% 之前重复进行计算。如果在 20 次迭代后仍无法确定结果,该函数就会失败。
下列规则适用:
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
cashArray 必须至少包含一个负数和一个正数。
如果在同一期内既有正现金流(即收款)也有负现金流(即付款),那么对该期使用净流。
如果在特定期间内没有现金流或净现金流,则必须输入 0(零)作为该期间的值。
下列提示可能很有用:
因为 IRR 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序输入付款和收款额。
如果 IRR 失败,请尝试使用另一个 startingGuess 值。
语法
irr( cashArray, startingGuess )
参数
cashArray
指定代表现金流值的现有双精度数组的名称。cashArray 必须至少包含一个正数值(即收款)和一个负数值(即付款)。
startingGuess
数字表达式。指定 IRR 的估计返回值。在大多数情况下,此值为 0.1,即 10%。
示例
以下示例假定已使用一系列现金流值填充了数组 myArray。将内部收益率赋予变量 IRRValue:
IRRValue = Finance.irr( myArray, .1 )
另请参阅
Finance.mirr 函数
Finance.npv 函数
Finance.rate 函数
Finance.mirr
此函数返回现有数组中一系列定期现金流或者付款和收款的修正内部收益率。修正内部收益率是指付款和收款利率不同时的内部收益率(IRR)。MIRR 同时考虑投资成本(即 financeRate)和现金再投资收益率(即 reinvestmentRate)。
下列规则适用:
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
cashArray 必须至少包含一个负数和一个正数。
如果在同一期内既有正现金流(即收款)也有负现金流(即付款),那么对该期使用净流。
如果在特定期间内没有现金流或净现金流,则必须输入 0(零)作为该期间的值。
因为 MIRR 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序输入付款和收款额。
语法
mirr( cashArray, financeRate, reinvestmentRate )
参数
cashArray
此双精度数组指定现有现金流值数组的名称。此数组必须至少包含一个正数值(即收款)和一个负数值(即付款)。
financeRate
此数字表达式指定作为资金成本支付的利率。此值必须是表示百分比的十进制值。
reinvestmentRate
此数字表达式指定现金再投资的收益率。此值必须是表示百分比的十进制值。
示例
以下示例假定已使用一系列现金流值填充了数组 myArray。如果要支付的资金利率是 12%,收入的收益率是 11.5%,那么修正内部收益率是多少?将答案赋予变量 MIRRValue:
MIRRValue = Finance.mirr( myArray, 0.12, 0.115 )
另请参阅
Finance.irr 函数
Finance.rate 函数
Finance.nper
基于固定利率及等额分期付款,返回年金的期数。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。
下列规则适用:
ratePerPeriod 和 eachPmt 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
nper( ratePerPeriod, eachPmt, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 eachPmt 的计量单位来提供此值。例如,如果 eachPmt 是月付款额,则 ratePerPeriod 必须是月利率。
eachPmt
此数字表达式指定各期付款额。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 以月份计,则 eachPmt 必须是每月付款额。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,APR 为 11.5%,并且在每个月的第一天还款。如果每期还款额为 $653.26,那么,还清贷款需要多少期?答案是 36,将其赋予变量 NumPeriods。
NumPeriods = Finance.nper(.115/12, -653.26, 20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.npv
基于给定利率,此函数返回一系列定期可变现金流(包括正现金流和负现金流)的净现值。PV 确定一系列定额付款的现值,而 NPV 确定一系列可变付款的现值。净现值是与某项投资相关联的所有未来现金流减去所有初始成本后的结余。换言之,如果将这笔资金按指定的利率 <rate> 存入银行并且存款期限为由现金流预定,则它产生的损益与所讨论的现金流系列产生的损益相同。
下列规则适用:
NPV 投资在数组中第一个现金流值的日期之前开始一期,并在最后一个现金流值的日期使该期结束。
如果第一个现金流在第一期开始时发生,则必须将它的值与 NPV 返回的值相加,而且不能将其包括在 cashArray 的现金流值中。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
cashArray 必须至少包含一个负数和一个正数。
如果在同一期内既有正现金流(即收款)也有负现金流(即付款),那么对该期使用净流。
如果在特定期间内没有现金流或净现金流,则必须提供 0(零)作为该期间的值。
因为 NPV 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序提供付款和收款额。
语法
npv( rate, cashArray )
参数
rate
此数字表达式指定某一期的贴现率。此值必须是十进制值。
cashArray
此双精度数组指定现有现金流值数组的名称。此数组必须至少包含一个正数值(即收款)和一个负数值(即付款)。
示例
以下示例假定已使用一系列现金流值填充了数组 myArray,并且利率是 11%。净现值是多少?将答案赋予变量 NetPValue:
NetPValue = Finance.npv( .11, MyArray )
Finance.percent
此函数计算两个数值的比率,以百分比计。此函数能够处理两项与百分比的计算相关的关键常规任务:处理分子为零以及处理空值。
语法
percent( denom, num, valueIfZero )
参数
denom
分母。此参数必须包含数字值。
num
分子。此参数必须包含数字值。此值可以是零。
valueIfZero
当分子为零时返回的百分比值。缺省值为空。
返回
两个数值的比率,以百分比计。如果分子为零,则返回 0。如果两个参数中任何一个为空,则返回空。
示例
pct = Finance.percent( 20, 50 ) // 返回 40
pct = Finance.percent( 20, 0 ) // 返回 0
Finance.pmt
基于固定利率及等额分期付款,返回年金的每期付款额。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
pmt( ratePerPeriod, numberPayPeriods, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,还款期为 36 个月,APR 为 11.5%,并且在每个月的第一天还款。每期付款额是多少呢?答案是 $653.26,将其赋予 PaymentAmt:
PaymentAmt = Finance.pmt(.115/12, 36, -20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.ppmt
基于固定利率及等额分期付款,返回年金在给定期间内的本金偿还额。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。年金的每笔付款由两部分组成:本金和利息。ppmt 返回付款的本金部分。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如星期、月份或年份。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
ppmt( ratePerPeriod, singlePeriod, numberPayPeriods, presentValue, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
singlePeriod
此数字表达式指定特定的期间,将确定该期的利息。此值必须是 1 到 numberPayPeriods。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初进行(1)还是期末进行(0)。此值必须是 0 或 1。
示例
以下示例假定您贷款 $20,000,还款期为 36 个月,APR 为 11.5%,并且在每个月的第一天还款。在第 5 次还款时,支付了多少本金?答案是 $481.43,将其赋予 Principal5:
Principal5 = Finance.ppmt(.115/12, 5, 36, -20000, 0, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.pv 函数
Finance.rate 函数
Finance.pv
基于固定利率及未来的等额分期付款,此函数返回年金的现值。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。现值是组成年金的未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。因此,该 $100 的现值大约是 $23.94。
下列规则适用:
ratePerPeriod 和 numberPayPeriods 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
语法
pv( ratePerPeriod, numberPayPeriods, eachPmt, futureValue, whenDue )
参数
ratePerPeriod
此数字表达式指定每一期的利率。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 ratePerPeriod 必须是月利率。
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 是月利率,则 numberPayPeriods 必须以月份计。
eachPmt
此数字表达式指定各期付款额。必须使用 ratePerPeriod 的计量单位来提供此值。例如,如果 ratePerPeriod 以月份计,则 eachPmt 必须是每月付款额。
futureValue
数字表达式。此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初还是期末进行。此值必须是 1(表示期初)或 0(表示期末)。
示例
以下示例假定您正在考虑购买面值为 $1000 的企业债券。此债券年息为 $100,15 年到期,并且在计息年度结束时派息。类似债券的到期收益率是 12.5%。此债券的合理价格是多少?换而言之,它的现值是多少?答案是 $834.18,将其赋予变量 PresentValue:
PresentValue = Finance.pv(.125, 15, 100, 1000, 0)
以下示例假定您购买彩票中奖。奖金为 $10,000,000,分 20 年支付,每年支付 $500,000,一年以后开始支付。如果年复合利率为 9.5%,此彩票今天的价值是多少呢?答案是 $4,406,191.06,将其赋予 PresentValue:
PresentValue = Finance.pv(.095, 20, 50000,10000000, 0)
以下示例假定您要分三年储蓄 $11,000。如果 APR 是 10.5%,并且您计划每月存入 $325 并在月初存入,那么,要实现目标,帐户里最初应该有多少起始资金呢?答案是 $2,048.06,将其赋予 StartValue。注意,eachPmt 是负数,这是因为它表示要支付的现金:
StartValue = Finance.pv(.105/12, 3*12, -325, 11000, 1)
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.rate 函数
Finance.rate
此函数返回年金在每一期的利率。年金是一段时间内进行的一系列定额现金付款。年金可以是投资(例如每月存款计划),也可以是贷款(例如住房抵押贷款)。
Rate 以迭代方式计算年金的利率。以 startingGuess 值开始,它在结果精确到 0.00001% 之前重复进行计算。如果在 20 次迭代后仍无法确定结果,该函数就会失败。
下列规则适用:
numberPayPeriods 和 eachPmt 必须以相同的单位计,例如每星期、每个月或每年。
必须使用负数来表示现金支出(例如存款),并使用正数来表示现金收入(例如股息支票)。
下列提示可能很有帮助:
因为 Rate 使用数组中值的顺序来解释付款和收款顺序,所以,请确保以正确的顺序提供付款和收款额。
如果 Rate 失败,请尝试使用另一个 startingGuess 值。
语法
rate( numberPayPeriods, eachPmt, presentValue, futureValue, whenDue, startingGuess )
参数
numberPayPeriods
此数字表达式指定年金付款总期数。必须使用 eachPmt 的计量单位来提供此值。例如,如果 eachPmt 是月付款额,则 numberPayPeriods 必须以月份计。
eachPmt
此数字表达式指定各期付款额。必须使用 numberPayPeriods 的计量单位来提供此值。例如,如果 numberPayPeriods 以月份计,则 eachPmt 必须是每月付款额。
presentValue
此数字表达式指定未来付款额或一系列付款额的现值。
例如,如果今天在银行存入 $23.94,存期 15 年,复合年利率为 10%,则最终大约会得到 $100。因此,在本例中,该 $100 的现值大约是 $23.94。
futureValue
此数字表达式指定最后一次付款后的现金余额。
例如:
存款计划的目标是 18 年后积累 $75,000 以支付子女的教育费用。在此计划中,终值是 $75,000。
您贷款 $11,000。终值是 $0.00。对于所有典型贷款来说,情况均如此。
whenDue
此数字表达式指定各期付款是在期初还是期末进行。此值必须是 1(表示期初)或 0(表示期末)。
startingGuess
此数字表达式指定 Rate 的估计返回值。在大多数情况下,此值为 0.1,即 10%。
示例
以下示例假定您借贷了 $20,000,并且分三年还清贷款。如果每个月偿还 $653.26 并且在月初支付,那么,您支付的利率(APR)是多少呢?答案是 .115(即 11.5%),将其赋予变量 InterestRate。注意,Rate 的返回值必须乘以 12 才能得到年利率:
InterestRate = Finance.rate(3*12, -653.26, 20000, 0, 1, .1) * 12
另请参阅
Finance.fv 函数
Finance.ipmt 函数
Finance.nper 函数
Finance.pmt 函数
Finance.ppmt 函数
Finance.pv 函数
Finance.sln
此函数返回单个时期资产的直线折旧额。直线折旧法最古老并且最简单的固定资产折旧法。它将资产帐面值减去预计余值,并将它们的差值均匀地分配到资产使用期限的各个期间。此过程用于在计算所得税之前对收入收取固定年度折旧费用。所有参数都必须是正数。
语法
sln( initialCost, salvageValue, assetLifespan )
参数
initialCost
此数字表达式指定资产的初始成本。
salvageValue
此数字表达式指定资产在其使用期限结束时的价值。您可以输入一个余值以查看直线折旧额与余值的偏差,也可以通过输入余值 0(零)以返回没有余值的直线折旧额。
assetLifespan
此数字表达式指定资产使用期限的长度。必须使用函数的返回计量单位来提供此值。例如,如果要让 SLN 确定资产的年折旧额,则 assetLifespan 必须以年计。
示例
以下示例使用直线折旧法来计算购买价为 $1400、余值为 $200 并且使用期限估计为 10 年的新机器的年折旧额。结果是每年 $120,将其赋予 AnnualDeprec:
AnnualDeprec = Finance.sln(1400, 200, 10)
另请参阅
Finance.ddb 函数
Finance.syd 函数
Finance.syd
此函数返回资产在所指定期间内的年限总和折旧额。年限总和折旧法是一种加速折旧法,与折旧额固定的直线折旧法(SLN)相比,此折旧法在固定资产使用期限的早期产生较高的折旧额,从而提高节税额。
此函数根据使用期限年数的数字之和的倒数比例来计算折旧额。例如,如果资产的使用期限为 4 年,数字 4、3、2、1 相加得 10。于是,第一年的 SYD 是资产的可折旧成本的 4/10,即成本减去余值。第二年的比率为 3/10,依此类推。
下列规则适用:
singlePeriod 和 assetLifespan 必须以相同的时间单位计。
所有参数都必须是正数。
语法
syd( initialCost, salvageValue, assetLifespan, singlePeriod )
参数
initialCost
此数字表达式指定资产的初始成本。
salvageValue
此数字表达式指定资产在其使用期限结束时的价值。
assetLifespan
此数字表达式指定资产使用期限的长度。必须使用 singlePeriod 的计量单位来提供此值。例如,如果 singlePeriod 以月份计,则 assetLifespan 必须也以月份计。
singlePeriod
此数字表达式指定一个期间,SYD 将计算此期间内的折旧额。必须使用 assetLifespan 的计量单位来提供此值。例如,如果 assetLifespan 以月份计,则 singlePeriod 必须表示一个月的期间。
示例
以下示例使用年限总和折旧法来计算购买价为 $1400、余值为 $200 并且使用期限估计为 10 年的新机器在第一年的折旧额。结果为 $218.18,将其赋予 Year1Deprec。
Year1Deprec = Finance.syd(1400, 200, 10, 1)
注意:
结果等于 10/55 * $1,200
55 = 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1
在这一系列的数字中,第 1 期(第一年)的数字是 10
以下示例计算同一资产在其使用期限内第二年的折旧额。结果为 $196.36,将其赋予 Year2Deprec。
Year2Deprec = Finance.syd(1400, 200, 10, 2)
注意:
结果等于 9/55 * $1,200
55 = 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1
在这一系列的数字中,第 2 期(第二年)的数字是 9
另请参阅
Finance.ddb 函数
Finance.sln 函数