Condividi tramite


Funzione NPV

Aggiornamento: novembre 2007

Restituisce un valore Double in cui è specificato il valore attuale netto di un investimento sulla base di una serie di flussi di cassa periodici (entrate e uscite) e di un tasso di sconto.

Function NPV( _
   ByVal Rate As Double, _
   ByRef ValueArray() As Double _
) As Double

Parametri

  • Rate
    Obbligatorio. Valore Double specifica il tasso di sconto del periodo, espresso come numero decimale.

  • ValueArray
    Obbligatorio. Matrice di valori Double che specifica i valori di flusso di cassa. La matrice deve contenere almeno un valore negativo (uscita) e un valore positivo (entrata).

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

ArgumentException

5

ValueArray è Nothing, il numero di dimensioni di ValueArray <> 1 o Rate = -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 valore attuale netto di un investimento corrisponde al valore corrente di una serie futura di entrate e uscite.

L'interpretazione dell'ordine delle entrate e delle uscite da parte della funzione NPV si basa sull'ordine di valori della matrice. I valori delle entrate e delle uscite dovranno quindi essere immessi nella sequenza corretta.

L'investimento NPV inizia un periodo prima della data del primo valore di flusso di cassa e termina con l'ultimo valore di flusso di cassa della matrice.

Il calcolo del valore attuale netto si basa sui flussi di cassa futuri. Se il primo flusso di cassa si verifica all'inizio del primo periodo, il primo valore deve essere aggiunto al valore restituito da NPV e non deve essere incluso tra i valori di flusso di cassa di ValueArray.

La funzione NPV è simile alla funzione PV, relativa al valore attuale. Per la funzione PV sono tuttavia ammessi flussi di cassa che iniziano alla fine o all'inizio di un periodo. Per la funzione NPV i valori di flusso di cassa possono essere variabili, mentre per la funzione PV devono rimanere fissi per l'intera durata dell'investimento.

Esempio

Nell'esempio riportato di seguito la funzione NPV viene utilizzata per restituire il valore attuale netto per una serie di flussi di cassa contenuti nella matrice values(). Il valore restituito, archiviato in FixedRetRate, rappresenta il tasso interno fisso del rendimento.

' 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) & ".")

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Modulo:**Financial

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

Vedere anche

Riferimenti

Funzione IRR

Funzione MIRR

Riepilogo degli elementi finanziari

ArgumentException