Netten brüte ücret hesaplaması için Excel de kullanıcı tanımlı fonksiyon yazma

Netten brüte ücret hesaplaması için Excel de kullanıcı tanımlı fonksiyon yazma

Brüt ücretten net hesaplama yapmak genel olarak kolay olmasına rağmen Net ücretten Brüt ücret bulmak daha zor bir işlemdir. Aşağıdaki Visual Basic fonksiyonu ve örnek ile verilen net ücret brüt ücrete dönüştürülmektedir. Ayrıca işveren maliyeti hesaplanmaktadır.

Brut isminde hazırlanan kullanıcı tanımlı fonksiyon Net ücret, kümülatif vergi matrahı ve SGK matrahı (SGK matrahına ek devir eden matrah varsa bu tutar yoksa 0 rakamı yazılmalı) olan 3 parametre verilerek brüt tutarını hesaplamaktadır.

Function Brut(Net As Double, KGVM As Double, SGKMatrah As Double)
Dim Hesapla1 As Double
Dim Hesapla2 As Double

Hesapla1 = Net * 2
For i = 1 To 100
Hesapla2 = NetBul(Hesapla1, KGVM, SGKMatrah)
If Hesapla2 = Net Then
Brut = Hesapla1
Else
Hesapla1 = Hesapla1 - (Hesapla2 - Net)
End If
Next i
Brut = Hesapla1
End Function

Function NetBul(Brut As Double, KMatrah As Double, SGKMatrah As Double) As Double
SGKPrimi = SGKM(SGKMatrah, Brut) * 15 / 100
DamgaVergisi = DV(Brut)
GelirVergisi = GV(KMatrah, Brut - SGKPrimi)
NetBul = Brut - (SGKPrimi + DamgaVergisi + GelirVergisi)
End Function

Function GV(KMatrah As Double, VMatrah As Double) As Double
Dim Dilim1 As Double, Dilim2 As Double, Dilim3 As Double, Dilim4 As Double
Dim Oran1 As Integer, Oran2 As Integer, Oran3 As Integer, Oran4 As Integer, Oran5 As Integer
Dim GV1 As Double, GV2 As Double, GV3 As Double, GV4 As Double, GV5 As Double

Dilim1 = Range("Parametre!A2").Value
Dilim2 = Range("Parametre!A3").Value
Dilim3 = Range("Parametre!A4").Value
Dilim4 = Range("Parametre!A5").Value
Dilim5 = Range("Parametre!A6").Value

Oran1 = Range("Parametre!C2").Value
Oran2 = Range("Parametre!C3").Value
Oran3 = Range("Parametre!C4").Value
Oran4 = Range("Parametre!C5").Value
Oran5 = Range("Parametre!C6").Value

TMatrah = KMatrah + VMatrah

If KMatrah >= Dilim1 And KMatrah < Dilim2 Then

If TMatrah >= Dilim1 And TMatrah < Dilim2 Then
GV1 = VMatrah * Oran1 / 100
Else
GV1 = 0
End If

If TMatrah >= Dilim2 And TMatrah < Dilim3 Then
GV2 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((VMatrah - (Dilim2 - KMatrah)) * Oran2 / 100)
Else
GV2 = 0
End If

If TMatrah >= Dilim3 And TMatrah < Dilim4 Then
GV3 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((Dilim3 - Dilim2) * Oran2 / 100) + ((VMatrah - (Dilim3 - KMatrah)) * Oran3 / 100)
Else
GV3 = 0
End If

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((Dilim3 - Dilim2) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((VMatrah - (Dilim4 - KMatrah)) * Oran4 / 100)
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim2 - KMatrah) * Oran1 / 100) + ((Dilim3 - Dilim2) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((Dilim5 - Dilim4) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim2 And KMatrah < Dilim3 Then
GV1 = 0
If TMatrah >= Dilim2 And TMatrah < Dilim3 Then
GV2 = VMatrah * Oran2 / 100
Else
GV2 = 0
End If

If TMatrah >= Dilim3 And TMatrah < Dilim4 Then
GV3 = ((Dilim3 - KMatrah) * Oran2 / 100) + ((VMatrah - (Dilim3 - KMatrah)) * Oran3 / 100)
Else
GV3 = 0
End If

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = ((Dilim3 - KMatrah) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((VMatrah - (Dilim4 - KMatrah)) * Oran4 / 100)
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim3 - KMatrah) * Oran2 / 100) + ((Dilim4 - Dilim3) * Oran3 / 100) + ((Dilim5 - Dilim4) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim3 And KMatrah < Dilim4 Then
GV1 = 0
GV2 = 0
If TMatrah >= Dilim3 And TMatrah < Dilim4 Then
GV3 = VMatrah * Oran3 / 100
Else
GV3 = 0
End If

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = ((Dilim4 - KMatrah) * Oran3 / 100) + ((VMatrah - (Dilim4 - KMatrah)) * Oran4 / 100)
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim4 - KMatrah) * Oran3 / 100) + ((Dilim5 - Dilim4) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim4 And KMatrah < Dilim5 Then
GV1 = 0
GV2 = 0
GV3 = 0

If TMatrah >= Dilim4 And TMatrah < Dilim5 Then
GV4 = VMatrah * Oran4 / 100
Else
GV4 = 0
End If

If TMatrah >= Dilim5 Then
GV5 = ((Dilim5 - KMatrah) * Oran4 / 100) + ((VMatrah - (Dilim5 - KMatrah)) * Oran5 / 100)
Else
GV5 = 0
End If
GoTo son
End If

If KMatrah >= Dilim5 Then
GV1 = 0
GV2 = 0
GV3 = 0
GV4 = 0

If TMatrah >= Dilim5 Then
GV5 = VMatrah * Oran5 / 100
Else
GV5 = 0
End If
GoTo son
End If

son:
GV = GV1 + GV2 + GV3 + GV4 + GV5
End Function

Fonksiyonun Kullanılışı

Brut(Net ücret ;Kümülatif Vergi Matrahı;SGK MAtrahı)

=Brut(A2;B2;C2)

 
Net ücret KGVM SGK Matrahı Net
2324,70 0 0 2943,00

Örnek Excel Dosyası

Netden Brüt Hesaplama Örnek Excel


İlgili Yazılar