Makro pro výpočet RPSN půjčky v Excelu

Jednoduché makro pro výpočet RPSN standardní půjčky – tj. jistina půjčena na začátku a poté anuitní splácení.

Funkce RPSN bere tři parametry: výše půjčky (jistiny), počet měsíců splácení, výše měsíční splátky. Funkce vrací RPSN v procentech.

Pokud jsou na začátku nějaké poplatky spojené s půjčkou, je třeba je odečíst od výše půjčky. Pokud jsou pravidelné měsíční poplatky spojené s půjčkou, je třeba přičíst je k výši měsíční splátky. S nepravidelnými poplatky si funkce neporadí.

Funkce hledá řešení metodou půlení intervalu s počátečním intervalem -100 % až 99 999 %, pokud výsledek spadá mimo tento interval, vypíše chybu. Výsledek v procentech spočte s přesností na 2 desetinná místa.

Nejprve pomocná funkce pro výpočet sumy zlomků ze vzorce RPSN – SUMA 1/(1+i)^(1..n/12)

Function SumaZlomku(RPSN, obdobi)
Dim i As Integer

For i = 1 To obdobi
SumaZlomku = SumaZlomku + 1 / (1 + RPSN) ^ (i / obdobi)
Next i
End Function

A nyní již samotná funkce pro výpočet RPSN:

Function RPSN(principal, per, pmt)
 I1 = -1
 I2 = 999
 Counter = 0

 Do
   OneHalf = I1 + (I2 - I1) / 2
   S = SumaZlomku(OneHalf, per) * pmt
   If S <= principal Then
      I2 = OneHalf
   Else
      I1 = OneHalf
   End If

   Counter = Counter + 1
   If Counter > 9999 Then
      GoTo ErrorCycling
   End If
 Loop While Abs(I1 - I2) > 0.00001

 RPSN = OneHalf
 Exit Function

 ErrorCycling:
   RPSN = "#PRILIS VYSOKE RPSN#"
 Exit Function

End Function

Podotýkám, že nejsem ve VBA příliš kovaný, takže je možné, že by šla funkce napsat lépe. Ale funguje, a to je nejdůležitější.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *