NPV-Funktion
Aktualisiert: November 2007
Gibt einen Wert vom Typ Double zurück, der den Nettobarwert einer Investition bei regelmäßigen Cashflows (Aus- und Einzahlungen) und einem Diskontsatz angibt.
Function NPV( _
ByVal Rate As Double, _
ByRef ValueArray() As Double _
) As Double
Parameter
Rate
Erforderlich. Ein Wert vom Typ Double, der den Diskontsatz bezogen auf die Länge des Zeitraums (ausgedrückt als Dezimalzahl) enthält.ValueArray
Erforderlich. Ein Array mit Werten vom Typ Double, die Cashflowwerte enthalten. Das Array muss mindestens einen negativen Wert (Zahlungsausgang) und einen positiven Wert (Zahlungseingang) enthalten.
Ausnahmen
Ausnahmetyp |
Fehlernummer |
Bedingung |
---|---|---|
ValueArray ist Nothing, Rang von ValueArray < > 1 oder Rate = -1 |
Beachten Sie die Spalte "Fehlernummer", wenn Sie Visual Basic 6.0-Anwendungen aktualisieren, die eine unstrukturierte Fehlerbehandlung verwenden. (Sie können die Fehlernummer mit der Number-Eigenschaft (Err-Objekt) vergleichen.) Wenn möglich, sollten Sie jedoch erwägen, eine solche Fehlersteuerung durch eine Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic zu ersetzen.
Hinweise
Der Nettobarwert einer Investition ist der aktuelle Wert einer Folge zukünftiger Aus- und Einzahlungen.
Die NPV-Funktion ermittelt die Reihenfolge der Ein- und Auszahlungen anhand der Reihenfolge der Werte innerhalb des Arrays. Achten Sie darauf, dass Sie die Einnahmen und Ausgaben in der richtigen Reihenfolge eingeben.
Die NPV-Investition beginnt einen Zeitraum vor dem Auftreten des ersten Cashflowwerts und endet mit dem Auftreten des letzten Cashflowwerts, der im Array eingetragen ist.
Die Berechnung des Nettobarwerts basiert auf zukünftigen Cashflows. Wenn der erste Cashflow zu Beginn des ersten Zeitraums auftritt, muss der erste Wert zu dem von NPV zurückgegebenen Wert addiert werden und darf nicht in den Cashflowwerten von ValueArray enthalten sein.
Die NPV-Funktion ist der PV-Funktion (Barwert) ähnlich. Bei der PV-Funktion sind jedoch Cashflows am Ende oder zu Beginn eines Zeitraums zulässig. Im Gegensatz zu den variablen Cashflowwerten von NPV müssen Cashflows bei PV während der Investition konstant bleiben.
Beispiel
In diesem Beispiel wird die NPV-Funktion zur Rückgabe des aktuellen Nettobarwerts einer Reihe von Cashflows verwendet, die im Array values() enthalten sind. Der in FixedRetRate gespeicherte Rückgabewert stellt den festen internen Ertragssatz dar.
' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"
Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000
' Use the NPV function to calculate the net present value.
' Set fixed internal rate.
Dim FixedRetRate As Double = 0.0625
' Calculate net present value.
Dim NetPVal As Double = NPV(FixedRetRate, values)
' Display net present value.
MsgBox("The net present value of these cash flows is " & _
Format(NetPVal, MoneyFmt) & ".")
Anforderungen
Namespace:Microsoft.VisualBasic
**Modul:**Financial
**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)