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.