Condividi tramite


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

ArgumentException

5

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)

Vedere anche

Riferimenti

Funzione NPV

Funzione MIRR

Riepilogo degli elementi finanziari

ArgumentException