Compartir a través de


IRR (Función)

Actualización: noviembre 2007

Devuelve un valor de tipo Double que indica la tasa interna devuelta para una serie de flujos de caja periódicos (pagos y cobros).

Function IRR( _
    ByRef ValueArray() As Double, _
   Optional ByVal Guess As Double = 0.1 _
) As Double

Parámetros

  • 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).

  • Guess
    Opcional. Un objeto que indica un valor estimado para IRR. Si se omite, Guess será 0,1 (10 por ciento).

Excepciones

Tipo de excepción

Número de error

Condición

ArgumentException

Los valores de los argumentos de la matriz no son válidos o Guess <= -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

La tasa interna de retorno es el tipo de interés recibido por una inversión consistente en pagos y cobros que se producen a intervalos regulares.

La función IRR 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. No es necesario que el flujo de caja en cada período sea fijo, como sería en el caso de una anualidad.

IRR se calcula por iteración. Comenzando con el valor de Guess, IRR, realiza un cálculo cíclico hasta que el resultado tiene una precisión del 0,00001 por ciento. Si IRR no puede encontrar un resultado después de 20 intentos, se produce un error.

Ejemplo

En este ejemplo, la función IRR devuelve la tasa de interés de retorno para una serie de cinco flujos de efectivo contenidos en la matriz Values(). El primer elemento de la matriz es un flujo de efectivo negativo que representa los costos iniciales de la actividad. Los cuatro flujos de efectivo restantes representan flujos de efectivo positivos para los siguientes cuatro años. Guess es la tasa interna estimada de retorno.

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

Requisitos

Espacio de nombres:Microsoft.VisualBasic

Módulo: Financial

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Vea también

Referencia

NPV (Función)

MIRR (Función)

Resumen financiero

ArgumentException