Azalan bakıyeler amortisman uygulaması

Katılım
28 Kasım 2007
Mesajlar
919
Excel Vers. ve Dili
Office 2010 İngilizce
Merhaba arkadaşlar,

Site sayesinde normal amortisman uygulamasının fx in içinde finansal/SYD fonksiyonunu kullanarak öğrendim. Ama birde azalan bakiyeler yöntemi var, örnek dosyamda mevcut rica etsem fonksiyonu bilen varsa söyler mi ?
 

Ekli dosyalar

Katılım
28 Kasım 2007
Mesajlar
919
Excel Vers. ve Dili
Office 2010 İngilizce
Bu değerli paylaşımınız için çok teşekkür ederim, elinize sağlık Yuttas bey
 
Katılım
16 Eylül 2005
Mesajlar
5
Excel Vers. ve Dili
Office 365
Kod:
Function Amortisman(AlisTarihi As Date, Maliyet As Currency, Oran As Single, _
Kist As Boolean, Normal As Boolean, Hizli As Boolean, HesaplanacakYil As Integer) As Currency

    sure = (Year(AlisTarihi) - 1) + (1 / Oran)
    If HesaplanacakYil > sure Then Exit Function
    
    'Normal
    If Kist = False And Normal = True And Hizli = False Then
    Amortisman = Round((Maliyet * Oran), 2)
    End If
    
    'Kıst-Normal
    If Kist = True And Normal = True And Hizli = False Then
        KistKatsayi = 13 - (Month(AlisTarihi))
        If HesaplanacakYil = sure Then KistKatsayi = 12 + (12 - KistKatsayi)
        If HesaplanacakYil <> Year(AlisTarihi) And HesaplanacakYil <> sure Then KistKatsayi = 12
        Amortisman = Round((Maliyet * Oran) / 12 * KistKatsayi, 2)
    End If
        
    'Hızlı-Normal
    If Kist = False And Normal = True And Hizli = True Then
        If Oran > 0.25 Then Oran = 0.25
        Oran = Oran * 2
           
        Donem = (sure - Year(AlisTarihi))
        DonemSayaci = 0
        alıs = sure - Donem
        For byt = alıs To sure
            Amortisman = Round((Maliyet * (1 - Oran) ^ DonemSayaci) * Oran, 2)
            If DonemSayaci <> Donem Then DonemSayaci = DonemSayaci + 1
            biriktir = Amortisman + biriktir
            If alıs = HesaplanacakYil Then Exit Function
            If DonemSayaci = Donem Then
                Amortisman = Maliyet - biriktir
                Exit Function
            End If
            alıs = alıs + 1
        Next byt
    End If

    'Hızlı-Kıst
    If Kist = True And Normal = False And Hizli = True Then
    If Oran > 0.25 Then Oran = 0.25
    Oran = Oran * 2
                
    If HesaplanacakYil = Year(AlisTarihi) Then
        KistKatsayi = 13 - (Month(AlisTarihi))
        Amortisman = Round((Maliyet * Oran) / 12 * KistKatsayi, 2)
        Exit Function
    End If
        
    If HesaplanacakYil <> Year(AlisTarihi) And HesaplanacakYil <> sure Then KistKatsayi = 12
    KistKatsayi2 = 13 - (Month(AlisTarihi))
    Amortisman2 = Round((Maliyet * Oran) / 12 * KistKatsayi2, 2)
    Maliyet2 = Maliyet - Amortisman2
    Donem = (HesaplanacakYil - Year(AlisTarihi)) - 1
    If sure <> HesaplanacakYil Then
        Amortisman = Round((Maliyet2 * (1 - Oran) ^ Donem) * Oran, 2)
        ElseIf sure = HesaplanacakYil Then
        sure = sure - 1
        For byt = Year(AlisTarihi) To sure - 1
            Donem = (sure - Year(AlisTarihi)) - 1
            sure = sure - 1
            Amortisman = Amortisman + Round((Maliyet2 * (1 - Oran) ^ Donem) * Oran, 2)
        Next byt
        Amortisman = Maliyet - Amortisman - Amortisman2
    End If
   End If

End Function
 
Son düzenleme:

SMMM1983

Altın Üye
Katılım
26 Ocak 2008
Mesajlar
85
Excel Vers. ve Dili
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
10-09-2026
Kıst ve Hızlandırılmış amortismanı yanlış hesaplıyor. Kodu tekrar revize edebilirmiyiz
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,929
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Aşağıdaki kullanıcı tanımlı formüller işini görür mü

Kıst Amortisman

Kod:
Function KistAmortisman(Maliyet As Double, HurdaDegeri As Double, Omur As Double, KullanimAylari As Double) As Double
    Dim YillikAmortisman As Double
    Dim AylikAmortisman As Double
    
    ' Yıllık amortismanı hesapla
    YillikAmortisman = (Maliyet - HurdaDegeri) / Omur
    
    ' Aylık amortismanı hesapla
    AylikAmortisman = YillikAmortisman / 12
    
    ' Kıst amortismanı hesapla
    KistAmortisman = AylikAmortisman * KullanimAylari
End Function
Hızlandırılmış Amortisman

Kod:
Function HizlandirilmisAmortisman(Maliyet As Double, HurdaDegeri As Double, Omur As Double, Donem As Double) As Double
    Dim AmortismanOrani As Double
    Dim KalanDeger As Double
    
    ' Amortisman oranını hesapla
    AmortismanOrani = (2 / Omur)
    
    ' Kalan değeri hesapla
    KalanDeger = Maliyet
    
    ' Her dönem için amortismanı hesapla
    For i = 1 To Donem
        If i = Donem Then
            HizlandirilmisAmortisman = KalanDeger * AmortismanOrani
        Else
            KalanDeger = KalanDeger - (KalanDeger * AmortismanOrani)
        End If
    Next i
End Function
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Kullanmış olduğum amortisman hesaplama dosyasını inceleyebilirsiniz.
Enflasyon muhasebesinden dolayı amortisman çalışmaları çorbaya döndü, umarım işinize yarar.
 

Ekli dosyalar

Üst