次の方法で共有


IPmt 関数

定額の支払いを定期的に行い、利率が一定であると仮定して、投資の指定した期の金利を指定する Double を返します。

構文

IPmt(rate, per, nper, pv, [ fv, [ type ]])

IPmt 関数には、次の名前付き引数があります。

指定項目 説明
rate 必須です。 投資の利率を示す倍精度浮動小数点型 ( Double ) の値を指定します。 たとえば、年率 (APR) 10% の自動車ローンを利用して月払いで返済を行う場合、月単位の金利は 0.1/12 = 0.0083 となります。
per 必須。 1 ~ nper の範囲の支払回数を指定する Double です。
nper 必須。 投資期間全体での支払回数の合計を指定する Double です。 たとえば、4 年ローンを利用して月払いで返済を行う場合、このローンの支払回数の合計は 4*12 = 48 となります。
pv 必須。 将来行われる一連の支払いまたは受領の現在価値 (現時点での価値) を指定する Double です。 たとえば、車を購入するためにお金を借りるときに、ローン金額は、毎月の車の支払いの貸し手に現在の値です。
fv 省略可能。 バリアント型 (Variant) 将来価値、つまり、最後の支払い後の収支の希望額を指定します。 たとえば、ローンの将来価値は、最後の支払い後のローンの価値である 0 円です。 しかし、子供の教育費として 18 年間で 500 万円を貯める場合、将来価値は 500 万円です。 省略すると、0 と見なされます。
type 省略可能。 支払期日を示すバリアント型 ( Variant ) の値を指定します。 各期の期末に支払う場合は 0、各期の期首に支払う場合は 1 を指定します。 省略すると、0 と見なされます。

解説

投資とは、一連の定額の支払いを一定期間にわたって行うことです。 投資には、住宅ローンなどのローンや、毎月の貯蓄プランなどの出資があります。

rate 引数と nper引数は、同じ単位で表される支払期間を使用して計算する必要があります。 たとえば、rate を月単位で計算する場合は、nper も月単位で計算する必要があります。

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

この例では、IPmt 関数を使用して、すべての支払いが同じ金額の場合に支払われる金利の額を計算します。 期間ごとの利率 (APR / 12)、利子部分が必要な支払期間 ()、支払総数 (Period)、ローンの現在価値または元金 (TotPmts)、ローンの将来価値 (PValFVal)、支払期日の開始時または終了時PayType () を示す数値を指定します。

Dim FVal, Fmt, PVal, APR, TotPmts, PayType, Period, IntPmt, TotInt, Msg
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
FVal = 0    ' Usually 0 for a loan.
Fmt = "###,###,##0.00"    ' Define money format.
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    ' Ensure proper form.
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    ' Total all interest.
    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    ' Display results.

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。