IPmt関数

IPmt関数は、VBA関数の中で財務関数に分類される関数です。

目次

スポンサー リンク

IPmt関数とは

IPmt関数は、倍精度浮動小数点数型 (Double) の値を返します。定額の支払いを定期的に行い、利率が一定であると仮定して、投資期間内の指定した期に支払う金利を返します。

構文IPmt(rate, per, nper, pv[, fv[, type]])
引数省略説明
rate ×投資期間を通じて一定の利率を示す倍精度浮動小数点数型 (Double) の値を指定します。たとえば、年利 (APR) 10% の車のローンを月払いで返済する場合、各期間の利率は 0.1/12 または 0.0083 になります。
per ×金利支払額を求める期を示す倍精度浮動小数点数型 (Double) の値を 1 ~ nper の範囲で指定します。
nper ×投資期間全体での支払い回数の合計を示す倍精度浮動小数点数型 (Double) の値を指定します。たとえば、4 年の車のローンを月払いで返済する場合、支払い回数は 48 回 (12 回×4 年) になります。
pv ×現在の投資額または将来行われる一連の支払いや収益を、現時点で一括した場合の合計金額を示す倍精度浮動小数点数型 (Double) の値を指定します。たとえば、車を購入するために資金を借りる場合、毎月支払うローンの総額が名前付き引数 pv になります。
fv 投資の将来価値、または最後の支払いを行った後に残る現金の収支を示すバリアント型 (Variant) の値を指定します。ローンなどの借入の将来価値は 0 になります。また、子供の教育費用として 18 年間で 500,000 円貯蓄する場合は、将来価値が 500,000 円になります。名前付き引数 fv を省略すると、0 を指定したものとみなされます。
type 支払期日をバリアント型 (Variant) で指定します。各期の期末に支払う場合は 0 を、各期の期首に支払う場合は 1 を指定します。名前付き引数 type を省略すると、0 を指定したものとみなされます。

投資とは、一連の定額の支払いを一定の期間行うことで、たとえば住宅ローンなどのローンまたは毎月の貯蓄プランなどの出資を指します。
名前付き引数 rate および nper は、時間的に同じ単位で指定する必要があります。たとえば、名前付き引数 rate を月単位で指定した場合は、名前付き引数 nper も月単位で指定します。
出金 (定額預金の支払いなど) を表す引数には負の値を指定し、入金 (配当金など) を表す引数には正の値を指定してください。

IPmt関数のサンプルコード

次の例は、IPmt 関数を使って、毎月の支払い額が同額の場合の金利を計算します。利率 (APR / 12)、金利支払い額を求める期 (Period)、支払い回数 (TotPmts)、現在価値または元金 (PVal)、将来価値 (FVal)、支払い期日 (PayType) を指定します。


Sub sample()

Dim FVal, Fmt, PVal, APR, TotPmts, PayType, Period, IntPmt, TotInt, Msg
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' 支払い期日を設定します。
FVal = 0                            ' 通常、ローンの場合は 0 を指定します。
Fmt = "###,###,##0.00"            ' 金額の形式を定義します。
PVal = InputBox("借入金額を入力してください。")
APR = InputBox("ローンの年利率を入力してください。")
If APR > 1 Then APR = APR / 100        ' 正しい形式に変換します。
TotPmts = InputBox("支払い回数を入力してください。")
PayType = MsgBox("毎月末に支払いを行いますか?", 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 = "毎月の支払い額は " & Format(TotInt, Fmt) 
Msg = Msg & " です。"
MsgBox Msg                        ' 結果を表示します。

End Sub

実行結果

解説

財務関数一覧

関数名内容
DDB倍率法による指定した期間の資産原価償却額を算出します。
FV定額定利の定期支払いでの投資の将来価値を算出します。
IPmt定額定利の定期支払いで投資期間内の指定した期における金利を算出します。
IRR指定したキャッシュフローに対する内部利率を算出します。
MIRR指定したキャッシュフローに対する修正内部利率を算出します。
NPer定額定利の定期支払いで総額の支払いに必要な支払回数を算出します。
NPV投資の正味現在価値を算出します。
Pmt定額定利の定期支払いでの投資の将来価値を算出します。投資に必要な定期支払額を算出します。
PPmt定額定利の定期支払いでの特定の期間における元金を算出します。
PV定額定利の定期支払いでの投資の現在価値を算出します。
Rate定額定利の定期支払いで将来価値を得るための利率を算出します。
SLN定額法での減価償却費を算出します。
SYD定額逓減法で指定した期の減価償却費を算出します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。