DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
arkadaslar bu kadar yararlı olacak bir dosyaya erişememek gerçekten çok üzücü...
yönetici arkadaslardan rica ediyorum bu çok önemli olan dosyayı tekrar bizimle paylaşsınlar...
iyi çalışmalar
Function gelirvergisibul(kümülatif_matrah, matrah)
If kümülatif_matrah < matrah Then
deger = GELIRBUL(matrah - kümülatif_matrah)
Else
deger = 0
End If
gelirvergisibul = GELIRBUL(kümülatif_matrah) - GELIRBUL(kümülatif_matrah - matrah) + deger
If matrah = "" Then
gelirvergisibul = GELIRBUL(kümülatif_matrah)
ElseIf matrah <= 0 Then
gelirvergisibul = GELIRBUL(kümülatif_matrah)
End If
End Function
Function GELIRBUL(Sayi)
Dim a(6)
Dim b(6)
Dim c(6)
Dim d(6)
Dim vergi(6)
i = 1
vergi1 = 0
rakam = Sayi
'______________________________
'yüzde oranları
b(1) = 0.15
b(2) = 0.2
b(3) = 0.27
b(4) = 0.35
b(5) = 0.35
b(6) = 0.35
'______________________________
'vergi dilimleri
c(1) = 8800
c(2) = 22000
c(3) = 50000
c(4) = 500000000
c(5) = 500000000
c(6) = c(5) * rakam
'______________________________
d(1) = c(1)
d(2) = c(2) - c(1)
d(3) = c(3) - c(2)
d(4) = c(4) - c(3)
d(5) = c(5) - c(4)
d(6) = c(6) - c(5)
While rakam > 0
If rakam >= d(i) Then
a(i) = d(i)
vergi(i) = ((d(i) * b(i)) / 1)
rakam = rakam - d(i)
ElseIf rakam < d(i) Then
d(i) = rakam
rakam = rakam - d(i)
vergi(i) = ((d(i) * b(i)) / 1)
Else
vergi(6) = ((d(6) * b(6)) / 1)
End If
vergi1 = vergi1 + vergi(i)
i = i + 1
Wend
GELIRBUL = vergi1
End Function
Sayın halit3 merhaba;
Vermiş olduğunuz örnek baz alınarak ekte bulunan çalışmada hesaplanan gelir vergisinde farklılıklar oluşuyor. Sarı ile renklendirilmiş sonuçlarda sizin fonksiyon kullanılarak bir vergi bulunmuş. Gri dolgulu olandada manuel hesaplanan vergi var. Bir anormallik varmı sizce?
Sayın Dentex;Bu konu ile ilgili değişik çözümler içeren bir dosya eklemiştim. Yardımcı olabileceği kanısındayım, saygılar.
http://www.excel.web.tr/showthread.php?t=79296&highlight=y%FDll%FDk+%FCcret
W7 ,X7 hücrelerine bak 1 aylık hesaplamaSn. Halit;
Eklemiş dosya üzerinde O sütununda sizin fonksiyon ile bulunan sonuç, P sütununda ise benim kullandığım fonksiyon ile bulunan sonuç var. İlginç nedenini ben bulamadım. q14 ve q15 hücrelerde fark oluşuyor.
EDIT: Siz diyorsunuz ki;
sizin gösterdiğiniz örnekte manuel olarak hesaplanan gelirvergisinde kümülatif matrağa aylık matrah dahil edilerek hesaplanmış
fonksiyon ile hesaplamada matrağı kümülatif matrağın içine eklemek gerekiyor
Personel ücretinden kesilen gv için yatırılması gerekende kümütalif matraha aylık matrah dahil edilmek suretiyle hesaplanan değil mi?
Sayın Halit Bey;W7 ,X7 hücrelerine bak 1 aylık hesaplama
ondan sonra elle hesapmakinesi ile hesapla sonuçu değerlendir
Sayın Leoncio :Sayın Halit Bey;
Niyetim bağcıyı dövmek değil, bunu bütün samimiyetimle söylüyorum. Zira hitabınızdan kızmış olduğunuzu hissettim. Bu yazıyı tekrar yazıp yazmamakta da epey tereddütte kaldım. Eğer öyleyse bu konuyu fazla irdelemeyeceğim.
Bahsettiğiniz hücrelere baktım. Kümülatif vergi toplamı 8.000 Cari aya ait vergi matrahı 8000 üzerinden hesaplanmış. Esasen benim tesbitim ilk dilim olan 8.800 geçişinden sonra sanki hatalı hesaplıyor gibi. (İddada etmiyorum, eğer hatalı bir işlem varsa düzeltmek amacıyla )
Yine eklediğim örnekte dilimler arası geçişlerde farklılık var. Bende muallakta kaldım.
İyi çalşımalar.
Function gelirvergisibul(kümülatif_matrah, matrah)
If kümülatif_matrah < matrah Then
deger = GELIRBUL(matrah - kümülatif_matrah)
Else
deger = 0
End If
gelirvergisibul = GELIRBUL(kümülatif_matrah) - GELIRBUL(kümülatif_matrah - matrah) + deger
If matrah = "" Then
gelirvergisibul = GELIRBUL(kümülatif_matrah)
ElseIf matrah <= 0 Then
gelirvergisibul = GELIRBUL(kümülatif_matrah)
End If
End Function
Function gelirvergisi(kümülatif_matrah, matrah)
deger1 = GELIRBUL(kümülatif_matrah + matrah)
deger2 = GELIRBUL(kümülatif_matrah)
gelirvergisi = deger1 - deger2
End Function
Function GELIRBUL(Sayi)
Dim a(6)
Dim b(6)
Dim c(6)
Dim d(6)
Dim vergi(6)
i = 1
vergi1 = 0
rakam = Sayi
'______________________________
'yüzde oranları
b(1) = 0.15
b(2) = 0.2
b(3) = 0.27
b(4) = 0.35
b(5) = 0.35
b(6) = 0.35
'______________________________
'vergi dilimleri
c(1) = 8800
c(2) = 22000
c(3) = 50000
c(4) = 500000000
c(5) = 500000000
c(6) = c(5) * rakam
'______________________________
d(1) = c(1)
d(2) = c(2) - c(1)
d(3) = c(3) - c(2)
d(4) = c(4) - c(3)
d(5) = c(5) - c(4)
d(6) = c(6) - c(5)
While rakam > 0
If rakam >= d(i) Then
a(i) = d(i)
vergi(i) = ((d(i) * b(i)) / 1)
rakam = rakam - d(i)
ElseIf rakam < d(i) Then
d(i) = rakam
rakam = rakam - d(i)
vergi(i) = ((d(i) * b(i)) / 1)
Else
vergi(6) = ((d(6) * b(6)) / 1)
End If
vergi1 = vergi1 + vergi(i)
i = i + 1
Wend
GELIRBUL = vergi1
End Function