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