2016-07-13 7 views
2

以下は、60期間のキャッシュフローテーブルです。グループ化された繰返しCFのExcelでの現在の現在価値

定期的なキャッシュフローがあります。 60行のテーブルを作成せずにNPV式を使用することなく、60の期間(毎月のキャッシュフロー)ごとにNPVを計算するという簡単な方法がありますか?

だから60個のラインアイテムの式は、このようなものになるだろう:

=NPV(PERIODIC RATE, VALUES OF CF 1 - 60) + CF0

しかし、あなたはExcelの定期的なキャッシュフローがある知っていれば、それをショートカットし、すべての60行を列挙することはできませんか?

ありがとうございます。

enter image description here

答えて

1

にはこれを実行する関数に組み込まれていませんが、我々は我々自身を構築することができます。これは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つの基準を持っています。

enter image description here

1

あなたはD1使用=1/($B$7/12)*(1-1/(1+$B$7/12)^C1)*B1*1/(1+$B$7/12)^(SUM($C$1:C1)-12)に年金式

を使用して

enter image description here

+0

感謝を下にコピーすることができます。変数で使用した財務計算式を入力して説明し、財務的背景を与えることはできますか? – user1527227

関連する問題