Compartir a través de


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

ArgumentException

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)

Vea también

Referencia

IRR (Función)

MIRR (Función)

Resumen financiero

ArgumentException