Функция ВСД

Возвращает значение типа Double, определяющее внутреннюю норму прибыли периодических денежных потоков (платежей и поступлений).

Синтаксис

IRR(values(), [ guess ])

Функция IRR содержит такие именованные аргументы:

Part Описание
values() Обязательно. Массив с типом Double, определяющий значения денежного потока. Этот массив должен содержать по крайней мере одно отрицательное значение (платеж) и одно положительное значение (получение).
Думаю Необязательный параметр. Значение Variant , указывающее вычисленное значение, будет возвращено IRR. Если элемент опущен, значение guess будет равно 0,1 (10 процентов).

Замечания

Внутренняя норма прибыли — это процент, полученный от инвестиций, которые состоят из регулярных платежей и поступлений.

Функция IRR определяет порядок платежей и поступлений по номерам элементов массива. Убедитесь, что платежи и поступления введены в правильном порядке. Денежные потоки за каждый период не должны быть фиксированными, как при аннуитете.

IRR вычисляется путем итерации. Начиная со значения guess, функция IRR выполняет итерации до тех пор, пока точность результата не достигнет 0,00001 процента. Если функции IRR не удается получить результат после 20 итераций, она завершается с ошибкой.

Пример

В этом примере функция IRR возвращает внутреннюю норму доходности для ряда из 5 денежных потоков, содержащихся в массиве Values(). Первым элементом массива представлен отрицательный денежный поток, определяющий затраты предприятия. Оставшиеся четыре денежных потока представляют собой положительные денежные потоки за последующие 4 года. Guess — это предполагаемая внутренняя норма прибыли.

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
RetRate = IRR(Values(), Guess) * 100    ' Calculate internal rate.
Msg = "The internal rate of return for these five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg    ' Display internal return rate.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.