29 Nisan 2009 Çarşamba

Excel PMT Fonksiyonu (WEB Programlama - Javascript)

Geçenlerde bir kredi hesaplama aracı hazırlama işi geldi. Hesaplamada hata olmaması için hesaplamanın excel üzerinde formüle edilip bana gelmesini istedim. Genelde matematiksel işlem gereken durumlarda kendimi sağlama almak için excelde formüle edilmiş versiyonları istemek işimi çok kolaylaştırıyor. Bundan dolayı tavsiye ederim.

Sonrasında elime excel döküman geldi.Excel döküman içindeki formüle baktığımda PMT fonksiyonunun kullanıldığını gördüm.PMT nedir yaa diye sorguladım hemen. Aylık ödenecek miktarı bulan fonksiyon olduğunu anlamam dakikalarımı aldı :)



Excel PMT fonksiyonunun kullanımı şu şekildedir;
=Pmt(oran, dönemsayısı, bd [, gd ] [, tür ] )
  • oran(rate)(zorunlu): dönemsayısı başına düşen faiz oranıdır. Yani eğer nper'e kaç ay olduğunu giriyorsanız aylık faiz oranı, eğer kaç hafta olduğunu giriyosanız haftalık faiz oranı buraya girilmelidir.
  • dönemsayısı(nper)(zorunlu): Aylık olarak hesaplama yapacaksanız buraya kaç ay olduğunu, haftalık olarak hesaplama yapacaksanız kac hafta olduğunu girmelisiniz.
  • bd(pv)(zorunlu): Buraya faiz hesaplaması yapılacak anapara miktarını giriyoruz.
  • gd(isteğe bağlı): Buraya ödemelerin tamamı yapılmayacaksa veya şöyle anlatayım borç bakiyesi kalacaksa bu bakiye buraya istenirse yazılabilir. Yazılmasada olur, yazılmazsa bu değer 0 olarak varsayılır.
  • tür(isteğe bağlı): Ödemelerin ne zaman yapılacağını belirten değer. Ödemeler ödeme döneminin sonunda yapılacaksa 0, başında yapılacaksa 1 kullanılmalı. Yazılmasada olur, yazılmazsa bu değer 0 olarak varsayılır.
Bu fonksiyon bize double türünde bir değer döndürecektir. Bu fonksiyonun nasıl kullanıldığına dair örneğide inceleyince bu fonksiyonu iyice anlamış olacağız.

Herneyse, ben web uygulaması yapacaktım ve javascriptte yapacaktım. Javascriptte PMT fonksiyonunun açılımını nasıl yaparım diye ararken pek işe yarayan bilgiye ulaşamadım. Ulaştığım bilgiler doğrultusunda hesaplama yaptığımda Excel'deki souçlar ile aynı sonuçları alamadım.

Araştırmalarım sonucu Visual Basic' de finansal hesaplama fonksiyonlarında PMT fonksiyonlarına rastladım. Hemen deneme yaptım excel ile aynı sonuclara ulaştım.

Fonksiyon şöyleki : (VB.NET)
---------------------------------------------------------------------------------
Dim Rate As Double
Dim Nper As Double
Dim PV As Double
Dim FV As Double
Dim returnValue As Double
Dim Fmt As String = "###,###,###"
Dim oran As String
' Her değeri yerli yerine koyuyoruz
oran = Request.QueryString("rate").Replace(".", ",")
Rate = Double.Parse(oran) / 100
Nper = Double.Parse(Request.QueryString("nper"))
PV = Double.Parse(Request.QueryString("pv"))
FV = 0.0
returnValue = Financial.Pmt(Rate, Nper, -PV, 0, 0)
returnValue = returnValue
Response.Write(Format(Math.Round(Financial.Pmt(Rate, Nper, -PV, 0, 0)), Fmt))
-----------------------------------------------------------------------------
javascirpt uygulaması demiştim. Bu kodu VB.Net üzerinde yazıp koydum kenarı, başka bir sayfadan ajax ile değerleri gönderip, miktarı çağırdım oldu bitti.

2 yorum:

  1. Merhabalar, bu fonksiyonun matematiksel hesaplamasının nasıl olduğunu öğrenebilirmiyim acaba; örnek olarak ben input olarak 6.9,360ay,20000.00 anapara girdiğim zaman hangi matematiksel işlemler sonucu hangi sonuca ulaşıyor.

    YanıtlaSil
  2. Selamlar,

    Açıkçası, excelde pmt fonksiyonu ile karşılaştığımda, benimde ilk aklıma gelen matematiksel olarak nasıl hesaplıyor sorusu olmuştu. Bununla ilgili bir araştırmada gerçekleştirdim. Bazı formüler buldum ve uyguladım ama excel ile aynı sonuçlara ulaşamadım. Finans uzmanı ve bankacı olmadığım içinde bu hesaplamayı çıkaramadım. VB.NET'teki fonksiyonla aynı sonucu bulunca matematiksel açılımı hesaplamayı bıraktım. O yüzden bu sorunuzun cevabını ne yazıkki bende bilmiyorum.

    Yardımcı olamadığım için şimdiden kusura bakmayın.

    YanıtlaSil