にはこれを実行する関数に組み込まれていませんが、我々は我々自身を構築することができます。これはUDF(User Defined Function)です。
Function myNPV(rate As Double, vl As Range, times As Range)
If vl.Cells.Count <> times.Cells.Count Then Exit Function
Dim vlArr() As Variant
Dim timesArr() As Variant
Dim ovlArr() As Double
Dim i&, j&, t&, cnt&
vlArr = vl.Value
timesArr = times.Value
For i = LBound(vlArr, 1) To UBound(vlArr, 1)
If vlArr(i, 1) <> "" Then
t = t + timesArr(i, 1)
End If
Next i
cnt = 1
ReDim ovlArr(1 To t)
For i = LBound(vlArr, 1) To UBound(vlArr, 1)
If vlArr(i, 1) <> "" Then
For j = 1 To timesArr(i, 1)
ovlArr(cnt) = vlArr(i, 1)
cnt = cnt + 1
Next j
End If
Next i
myNPV = Application.WorksheetFunction.NPV(rate, ovlArr)
End Function
ブック内ではAlt-F11を押します。 VBEが開きます。
へ移動し、モジュールを挿入して挿入します。これにより、新しいモジュールが開きます。上のコードをコピーして貼り付けます。
ザ・あなたは、他の式のようにそれを呼び出すことができます。金額の範囲、あたりの料金、および対応する回数:
=myNPV(C20/C19,B3:B17,C3:C17)+B2
これは、3つの基準を持っています。
感謝を下にコピーすることができます。変数で使用した財務計算式を入力して説明し、財務的背景を与えることはできますか? – user1527227