IRR-Funktion

Aktualisiert: November 2007

Gibt einen Wert vom Typ Double zurück, der den internen Ertragssatz für eine Folge regelmäßiger Cashflows (Aus- und Einzahlungen) angibt.

Function IRR( _
    ByRef ValueArray() As Double, _
   Optional ByVal Guess As Double = 0.1 _
) As Double

Parameter

  • 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.

  • Guess
    Optional. Ein Objekt, das einen von Ihnen geschätzten Wert enthält, der von IRR zurückgegeben wird. Wird der Wert nicht angegeben, dann ist Guess gleich 0,1 (10 Prozent).

Ausnahmen

Ausnahmetyp

Fehlernummer

Bedingung

ArgumentException

5

Arrayargumentwerte sind ungültig oder Guess <= -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 interne Ertragssatz ist der Zinssatz für eine Investition, die aus Ein- und Auszahlungen in regelmäßigen Abständen besteht.

Die IRR-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. Der Cashflow muss nicht für alle Zeiträume gleichbleibend sein (wie bei einer Annuität).

IRR wird iterativ berechnet. IRR verwendet Guess als Startwert und wiederholt die Berechnung so lange, bis das Ergebnis auf 0,00001 Prozent genau ist. Wenn nach 20 Versuchen kein Ergebnis gefunden werden kann, wird IRR abgebrochen.

Beispiel

In diesem Beispiel gibt die IRR-Funktion den internen Ertragssatz für eine Folge von 5 im Array Values() enthaltenen Cashflows zurück. Das erste Arrayelement ist ein negativer Cashflow, der die Anlaufkosten des Geschäfts darstellt. Die verbleibenden 4 Cashflows stellen positive Cashflows der folgenden 4 Jahre dar. Guess entspricht dem geschätzten internen Ertragssatz.

' 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 IRR function to calculate the rate of return.
' Guess starts at 10 percent.
Dim Guess As Double = 0.1
' Calculate internal rate.
Dim CalcRetRate As Double = IRR(values, Guess) * 100
' Display internal return rate.
MsgBox("The internal rate of return for these cash flows is " & _
    Format(CalcRetRate, CStr(PercentFmt)) & " percent.")

Anforderungen

Namespace:Microsoft.VisualBasic

Modul: Financial

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Siehe auch

Referenz

NPV-Funktion

MIRR-Funktion

Finanzdaten: Zusammenfassung

ArgumentException