Compartir a través de


Función NPV

Devuelve un Double que especifica el valor presente neto de una inversión basado en una serie de flujos de efectivos periódicos (pagos y recibos) y una tasa de descuento.

Sintaxis

NPV(rate, values( ))

La función NPV tiene estos argumentos con nombre:

Parte Descripción
Tasa Obligatorio. Double especifica la tasa de descuento durante el periodo, expresada como decimal.
values( ) Obligatorio. Matriz de valores dobles que especifica valores de flujo de caja. La matriz debe contener al menos un valor negativo (pago) y un valor positivo (cobro).

Comentarios

El valor presente neto de una inversión es el valor actual de una serie futura de pagos y recibos.

La función NPV usa el orden de valores de la matriz para interpretar el orden de los pagos y recibos. Asegúrese de especificar los valores de pagos y recibos en la secuencia correcta.

La inversión NPV comienza un periodo antes de la fecha del primer valor de flujo de efectivo y finaliza con el último valor de flujo de efectivo en la matriz.

El cálculo de valor presente neto se basa en los futuros flujos de efectivo. Si el primer flujo de caja se produce al principio del primer período, el primer valor debe agregarse al valor devuelto por NPV y no debe incluirse en los valores de flujo de efectivo de valores( ).

La función NPV es similar a la función PV (valor actual), salvo que la función PV permite que los flujos de efectivo comiencen al final o al principio de un período. A diferencia de los valores variables de flujo de efectivo de NPV, los flujos de efectivos de PV deben ser fijos durante la inversión.

Ejemplo:

Este ejemplo usa la función NPV para devolver el valor presente de una serie de flujos de efectivos contenidos en la matriz Values(). RetRate representa la tasa fija interna de la devolución.

Dim Fmt, Guess, RetRate, NetPVal, Msg
Static Values(5) As Double    ' Set up array.
Fmt = "###,##0.00"    ' Define money format.
Guess = .1    ' Guess starts at 10 percent.
RetRate = .0625    ' Set fixed internal rate.
Values(0) = -70000    ' Business start-up costs.
' Positive cash flows reflecting income for four successive years.
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
NetPVal = NPV(RetRate, Values())    ' Calculate net present value.
Msg = "The net present value of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
MsgBox Msg    ' Display net present value.

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.