Access IPmt関数は利率が一定であるとして、定額の支払いを定期的にした場合の、投資期間内の指定した期に支払う金利を返します。
■ 構文
IPmt(rate, per, nper, pv[, fv[, type]])
■ 引数
rate : (必須) 投資期間を通じて一定の利率を示す倍精度浮動小数点数型の値を指定します。支払い回数が月払いで、利率が年利の場合、12ヶ月で割った値を指定します。
per : (必須) 金利支払額を求める期を示す倍精度浮動小数点数型の値を 1 ~ nper の範囲で指定します。
nper : (必須) 投資期間全体での支払い回数の合計を示す倍精度浮動小数点数型の値を指定します。
pv : (必須) 支払いや収益を、現時点で一括した場合の合計金額を示す倍精度浮動小数点数型の値を指定します。
fv : (省略可) 投資の将来価値、または最後の支払いを行った後に残る現金の収支を値を指定します。
type : (省略可) 支払期日を指定します。各期の期末に支払う場合は 0 を、各期の期首に支払う場合は 1 を指定します。
■ 戻り値
倍精度浮動小数点数型 (Double) の値が返ります。
■ Access実行画面
投資期間内の指定した期に支払う金利を計算します。
「利率」「何回目の金利を計算するか」「返済回数」「借り入の総額」「支払いの時期」を入力し、「計算」ボタンをクリックすると計算結果をテキストボックスに表示します。
■ Access VBA 実行コード
Option Compare Database
Private Sub コマンド22_Click()
Dim f1 As Double
'入力値のチェック
If IsNull(Me!テキスト0) Then
MsgBox "利率を入力してください。"
Me!テキスト0.SetFocus
Exit Sub
End If
If IsNull(Me!テキスト3) Then
MsgBox "何回目の金利か入力してください。"
Me!テキスト3.SetFocus
Exit Sub
End If
If IsNull(Me!テキスト5) Then
MsgBox "返済回数を入力してください。"
Me!テキスト5.SetFocus
Exit Sub
End If
If IsNull(Me!テキスト7) Then
MsgBox "借り入の総額を入力してください。"
Me!テキスト7.SetFocus
Exit Sub
End If
'投資期間内の指定した期に支払う金利を計算
f1 = IPmt(Me!テキスト0 / 100, Me!テキスト3, Me!テキスト5, Me!テキスト7 * -1, , フレーム11)
'結果を表示
Me!テキスト20 = f1
End Sub