NPV (Función)
Actualización: noviembre 2007
Devuelve un valor de tipo Double que indica el valor actual neto de una inversión basada en una serie de flujos de caja periódicos (pagos y cobros) y un tipo de descuento.
Function NPV( _
ByVal Rate As Double, _
ByRef ValueArray() As Double _
) As Double
Parámetros
Rate
Requerido. Valor de tipo Double que indica el tipo de descuento a lo largo del período, expresado como un valor decimal.ValueArray
Requerido. Matriz de tipo Double que especifica valores de flujo de caja. La matriz debe contener al menos un valor negativo (un pago) y un valor positivo (un cobro).
Excepciones
Tipo de excepción |
Número de error |
Condición |
---|---|---|
ValueArray es Nothing, categoría de ValueArray <> 1, o Rate = -1 |
Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.
Comentarios
El valor actual neto de una inversión es el valor actual de una serie de pagos y cobros futuros.
La función NPV utiliza el orden de los valores de la matriz para interpretar el orden de los pagos y cobros. Asegúrese de indicar los valores de los pagos y cobros siguiendo la secuencia correcta.
La inversión de NPV comienza un período antes de la fecha del primer flujo de caja y termina con el último flujo de caja de la matriz.
El cálculo del valor actual neto se basa en flujos de caja futuros. Si el primer flujo de efectivo se produce al principio del primer período, el primer valor debe agregarse al que devuelva NPV y no debe incluirse en los valores de flujo de efectivo de ValueArray.
La función NPV es similar a PV (valor actual), excepto en que PV permite que los flujos de caja comiencen al principio o al final de un período. A diferencia de los valores de flujo de caja variables de NPV, los de PV deben ser fijos a lo largo de toda la inversión.
Ejemplo
En este ejemplo se utiliza la función NPV para devolver el valor actual neto de una serie de flujos de efectivo contenidos en la matriz values(). El valor devuelto, almacenado en FixedRetRate, representa la tasa interna fija que se devuelve.
' 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) & ".")
Requisitos
Espacio de nombres:Microsoft.VisualBasic
**Módulo:**Financial
**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)