Vrátí hodnotu typu Double určující vnitřní míru výnosnosti pro řadu pravidelných peněžních toků (plateb a příjmů).
Syntaxe
IRR( values () [; guess ] )
Syntaxe funkce IRR má tyto argumenty:
Argument |
Popis |
hodnoty () |
Povinný argument. Matice hodnot Double určující hodnoty peněžních toků. Matice musí obsahovat aspoň jednu zápornou hodnotu (platba) a jednu kladnou hodnotu (příjem). |
guess |
Nepovinný argument. Varianta určující hodnotu, kterou odhadnete, vrátí funkce IRR. Pokud argument vynecháte, bude odhad 0,1 (10 procent). |
Poznámky
Vnitřní míra výnosnosti je úroková sazba získaná pro investici, která se skládá z plateb a příjmů, které probíhají v pravidelných intervalech.
Funkce IRR používá pořadí hodnot v rámci pole k interpretaci pořadí plateb a příjmů. Platby a příjmy je nutné zadat ve správném pořadí. Peněžní tok pro každé období nemusí být pevný, stejně jako u anuity.
Míra výnosnosti se počítá na základě iterace. Počínaje hodnotou odhadu prochází IRR výpočtem, dokud není výsledek přesný na hodnotu 0,00001 %. Pokud funkce IRR nemůže po 20 pokusech najít výsledek, selže.
Příklad
Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
V tomto příkladu vrátí funkce IRR vnitřní výnosnost pro řadu 5 peněžních toků obsažených v matici Values(). Prvním prvkem pole je záporný peněžní tok představující náklady na zahájení podnikání. Zbývající 4 peněžní toky představují kladné peněžní toky za následující 4 roky. Guess je odhadovaná vnitřní míra výnosnosti.
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.