Funzione IRR
Aggiornamento: novembre 2007
Restituisce un valore Double in cui è specificato il tasso di rendimento interno per una serie di flussi di cassa periodici (entrate e uscite).
Function IRR( _
ByRef ValueArray() As Double, _
Optional ByVal Guess As Double = 0.1 _
) As Double
Parametri
ValueArray
Obbligatorio. Matrice di Double che consente di specificare i valori di flusso di cassa. La matrice deve contenere almeno un valore negativo (uscita) e un valore positivo (entrata).Guess
Facoltativo. Oggetto in cui è specificato il valore previsto come risultato di IRR. Se omesso, Guess corrisponderà a 0,1 (10%).
Eccezioni
Tipo di eccezione |
Numero di errore |
Condizione |
---|---|---|
I valori dell'argomento matrice non sono validi o Guess <= -1. |
Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.
Note
Il tasso di rendimento interno è il tasso di interesse di un investimento composto da entrate e uscite che si verificano a intervalli regolari.
L'interpretazione dell'ordine delle entrate e delle uscite da parte della funzione IRR si basa sull'ordine di valori della matrice. I valori delle entrate e delle uscite dovranno quindi essere immessi nella sequenza corretta. Il flusso di cassa per ogni periodo non deve necessariamente essere costante, come nel caso di una rendita.
La funzione IRR viene calcolata per iterazione. A partire dal valore di Guess, la funzione IRR viene calcolata fino a ottenere un risultato con approssimazione pari a 0,00001%. Se dopo 20 tentativi non si ottiene alcun risultato, la funzione IRR avrà esito negativo.
Esempio
In questo esempio la funzione IRR restituisce il tasso di rendimento interno per una serie di cinque flussi di cassa contenuti nella matrice Values(). Il primo elemento della matrice corrisponde a un flusso di cassa negativo che rappresenta i costi di avviamento aziendale. I quattro flussi di cassa rimanenti rappresentano flussi di cassa positivi per i successivi quattro anni. Guess è il tasso di rendimento interno previsto.
' 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.")
Requisiti
Spazio dei nomi:Microsoft.VisualBasic
Modulo: Financial
**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)