Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Помогите рассчитать IRR
 
Проблема решилась заменой на Guess = 0.08, но все-равно ощущение, что исходное искомое значение не должно было так влиять на работу функции.
Помогите рассчитать IRR
 
Добрый день! По этой же теме еще задачка.
Необходимо для разных условий кредитов и разных величин кредита посчитать IRR (ВСД). Платежи формируются следующим образом: 0 - кредит (с минусом), 1 платеж = ежемесячный платеж+комиссия за открытие, далее 2-последний платеж (№ срок кредита) = ежемесячный платеж. Чтоб не плодить кучу массивов с денежными потоками решил немного модернизировать встроенную функцию ВСД. Передаю в функцию размер кредита, ежемесячный платеж (ПЛТ), срок кредита и комиссию за открытие.
Код следующий:
Код
Function ВСД24(ByVal Kredit As Long, ByVal Plateg As Long, ByVal Srok As Long, ByVal Komissiya As Long)
   Dim Arr() As Double
   'Static Arr() As Double
   Dim ac As Long
   ac = 2
   ReDim Arr(Srok)
   guess = 0.1
   Arr(0) = -Round(Kredit, ac)
   Arr(1) = Round(Plateg + Komissiya, ac)
   For i = 2 To Srok
      Arr(i) = Round(Plateg, ac)
   Next i
   ВСД24 = IRR(Arr(), guess)
   'Erase Arr
End Function

Спотыкается при расчете IRR по заданному массиву. Хотя по аналогичному массиву встроенная функция Экселя ставку рассчитывает.
Проблема при сроке кредита в 36 месяцев, при 24 все нормально.
Есть подозрения, что экселю тупо не хватает памяти для расчета.
Помогите, пожалуйста, поправить код.
Изменено: kbipmbicka - 08.12.2022 13:45:36
Страницы: 1
Наверх