Devolve um Valor Duplo especificando a taxa interna de rentabilidade de uma série de fluxos monetários periódicos (pagamentos e recibos).
Sintaxe
IRR( values () [, guess ] )
A sintaxe da função IRR tem estes argumentos:
Argumento |
Descrição |
valores () |
Obrigatório. Matriz do valor Duplo a especificar os valores de fluxo de caixa. A matriz tem de conter pelo menos um valor negativo (um pagamento) e um valor positivo (um recibo). |
estimativa |
Opcional. A variante que especificar o valor que estima será devolvida pelo IRR. Se omitido, estimativa é 0,1 (10 por cento). |
Observações
A taxa de rentabilidade interna é a taxa de juro recebida para um investimento que consiste em pagamentos e recibos que ocorrem em intervalos regulares.
A função IRR utiliza a ordem dos valores na matriz para interpretar a ordem de pagamentos e recibos. Certifique-se de que introduz os seus valores de pagamento e de recibo na sequência correta. O fluxo de caixa para cada período não tem de ser corrigido, pois é para uma anuidade.
O IRR é calculado por iteração. Começando com o valor de estimativa, o IRR percorre o cálculo até que o resultado seja preciso para 0,000001 por cento. Se o IRR não conseguir encontrar um resultado após 20 tentativas, falha.
Exemplo
Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
Neste exemplo, a função IRR devolve a taxa interna de rentabilidade de uma série de 5 fluxos de caixa contidos na matriz Values(). O primeiro elemento de matriz é um fluxo de caixa negativo que representa os custos de arranque do negócio. Os restantes 4 fluxos monetários representam fluxos monetários positivos para os 4 anos seguintes. Guess é a taxa de rentabilidade interna estimada.
Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double ' Set up array. Guess = .1 ' Guess starts at 10 percent. Fmt = "#0.00" ' Define percentage format. 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 ' Calculate internal rate. RetRate = IRR(Values(), Guess) * 100 Msg = "The internal rate of return for these " & _ "five cash flows is " Msg = Msg & Format(RetRate, Fmt) & " percent." MsgBox Msg ' Display internal return rate.