Financial.NPer(Double, Double, Double, Double, DueDate) メソッド

定義

定期的な固定支払いと固定利率に基づいて、年金の期間数を指定する値を返します。

public static double NPer(double Rate, double Pmt, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member NPer : double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function NPer (Rate As Double, Pmt As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double

パラメーター

Rate
Double

必須。 期間あたりの利率。 たとえば、10 パーセントの年間利率 (APR) で自動車ローンを契約し、月払いで返済を行う場合、1 か月の利率は 0.1/12 (0.0083) になります。

Pmt
Double

必須。 各期間に行われる支払い。 通常、支払いには、年金の有効期間中に変更されない元金と利息が含まれます。

PV
Double

必須。 将来の一連の支払いまたは領収書の現在の値 (今日の値)。 たとえば、車の購入資金を借りた場合、ローン金額は、借り手が毎月行う返済の貸し手に対する現在価値です。

FV
Double

このフィールドは省略可能です。 最終的な支払いを行った後に必要な将来価値または現金残高。 たとえば、ローンの将来価値は \$0 です。これは、最終的な支払い後の値であるためです。 ただし、お子様の教育のために 18 年間で \$50,000 を節約する場合は、\$50,000 が将来の価値になります。 省略した場合、0 が想定されます。

Due
DueDate

このフィールドは省略可能です。 支払い期限を指定する DueDate 型のオブジェクト。 この引数は、支払い期間の終了時に支払いが行われる場合は DueDate.EndOfPeriod 、支払い期限が期間の初めに支払われる場合は DueDate.BegOfPeriod する必要があります。 省略すると、 DueDate.EndOfPeriod が想定されます。

返品

定期的な固定支払いと固定利率に基づく年金の期間数。

例外

Rate = 0、 Pmt = 0

この例では、 NPer 関数を使用して、 PValに含まれるローンを返済するために支払いを行う必要がある期間の数を返します。 また、期間あたりの利率 (APR / 12)、支払 (Payment)、ローンの将来価値 (FVal)、支払期日が支払期間の開始時か終了時かを示す数値 (PayType) も指定されます。

Sub TestNPer()
    Dim TotPmts As Double
    Dim PVal, APR, Payment As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Usually 0 for a loan.
    Dim Fval As Double = 0
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    ' Usually 0 for a loan.
    If APR > 1 Then APR = APR / 100
    Payment = CDbl(InputBox("How much do you want to pay each month?"))
    Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
    If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1

    MsgBox("It will take you " & TotPmts & " months to pay off your loan.")
End Sub

注釈

これらの関数の対象となる投資は、定額の支払いが定期的に行われることが前提になっています。 投資としては、ローン (住宅ローンなど) または本来の投資 (毎月の貯蓄プランなど) が該当します。

すべての引数に関して、定額預金の支払いのような出金は負の数で表し、配当金のような入金は正の数で表します。

適用対象

こちらもご覧ください