Topla.çarpım formülü ile Yasal Faiz Hesabı

ordulu82

Altın Üye
Katılım
24 Mart 2006
Mesajlar
213
Altın Üyelik Bitiş Tarihi
28-07-2027
selamlar ekteki dosyada topla.çarpım formülü ile bir faiz hesaplama formülü hazırlamak istiyorum.
Formül çalışmadı acaba nerde hata yapıyorum. Malum faiz oranları belli tarihler arasında değişiyor. belirttiğim iki tarih arasında faiz hesaplanmasını istiyorum. Yardımcı olabilirseniz çok sevinirim.
 

Ekli dosyalar

sward175

Özel Üye
Katılım
4 Şubat 2011
Mesajlar
1,186
Excel Vers. ve Dili
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2016
Altın Üyelik Bitiş Tarihi
04-06-2024
Merhaba, ordulu82,
Aşağıdaki formülü kullanabilirsiniz.
İyi Günler dilerim.

= TOPLA(ÇARPIM((G1<=B2:B5)*(G2>=A2:A5)*(C2:C5)*(G3)))
 

sward175

Özel Üye
Katılım
4 Şubat 2011
Mesajlar
1,186
Excel Vers. ve Dili
Excel Vers. ve Dili:
Microsoft Office Professional Plus 2016
Altın Üyelik Bitiş Tarihi
04-06-2024
Merhaba , ordulu82,
Vermiş olduğunuz faiz oranını aylık olarak algılıyorum.
Tarihler arası 297 gün buna göre formül yazılmıştır.
İstediğinizi tam olarak açıklarsanız cevap almanız daha kolay olacaktır.
İyi Günler dilerim.
 

ordulu82

Altın Üye
Katılım
24 Mart 2006
Mesajlar
213
Altın Üyelik Bitiş Tarihi
28-07-2027
Merhaba , ordulu82,
Vermiş olduğunuz faiz oranını aylık olarak algılıyorum.
Tarihler arası 297 gün buna göre formül yazılmıştır.
İstediğinizi tam olarak açıklarsanız cevap almanız daha kolay olacaktır.
İyi Günler dilerim.
Maalesef o ayrıntıyı söylemeyi atlamışım. belirttiğim faiz oranları yıllık faiz oranlardır.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,982
Excel Vers. ve Dili
Office 365 Türkçe
Bir modüle aşağıdaki kodları ekle

Kod:
Function FaizToplamı(faizBaslangic As Date, faizBitis As Date, anapara As Double, _
                     donemBaslangic As Range, donemBitis As Range, faizOranlari As Range) As Double
    Dim i As Long
    Dim toplamFaiz As Double
    Dim ortakBaslangic As Date
    Dim ortakBitis As Date
    Dim gunSayisi As Long
    Dim oran As Double
    
    toplamFaiz = 0
    
    For i = 1 To donemBaslangic.Rows.Count
        If IsDate(donemBaslangic.Cells(i, 1).Value) And IsDate(donemBitis.Cells(i, 1).Value) Then
            ortakBaslangic = Application.WorksheetFunction.Max(faizBaslangic, donemBaslangic.Cells(i, 1).Value)
            ortakBitis = Application.WorksheetFunction.Min(faizBitis, donemBitis.Cells(i, 1).Value)
            
            If ortakBitis > ortakBaslangic Then
                gunSayisi = ortakBitis - ortakBaslangic
                oran = faizOranlari.Cells(i, 1).Value
                toplamFaiz = toplamFaiz + (anapara * oran * gunSayisi / 365)
            End If
        End If
    Next i
    
    FaizToplamı = anapara + toplamFaiz
End Function

G5 hücresine

Kod:
=FaizToplamı(G1;G2;G3;A2:A5;B2:B5;C2:C5)
yazıp kontrol eder misin.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,982
Excel Vers. ve Dili
Office 365 Türkçe
Formülle de

Kod:
=G3+TOPLA(BYROW(A2:A5;LAMBDA(i;MAK(0;MİN(İNDİS(B2:B5; SATIR(i)-SATIR(A2)+1); G2)-MAK(İNDİS(A2:A5;SATIR(i)-SATIR(A2)+1); G1))*(G3*İNDİS(C2:C5;SATIR(i)-SATIR(A2)+1)/365))))
Eğer G3 hesaba katılmayacaksa onu silersiniz.
 
Üst