Excel365
Thành viên tích cực
- Tham gia
- 29/10/10
- Bài viết
- 862
- Được thích
- 125
- Giới tính
- Nam
Function Bulg(chucvu As String, ngaycong As Double, tongluong As Double)
d_luongBQ = tongluong / ngaycong
'=============================================
If (chucvu <> "" And d_luongBQ > 0) Then
If (Left(chucvu, 3) = "BÑH" And d_luongBQ < (Range("BÑH"))) Then
Bulg = (Range("BÑH") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 3) = "KCS" And d_luongBQ < (Range("KCS"))) Then
Bulg = (Range("KCS") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "MH") And Right(chucvu, 2) = "QC" And d_luongBQ < (Range("KCS")) Then
Bulg = (Range("MH_QC") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "MH") And Right(chucvu, 2) <> "QC" Then
Bulg = (Range("MH_TK") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "TK") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("TKE_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "TK") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("TKE_Tp") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "TK") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("TKE_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CN") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("CN_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CN") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("CN_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CN") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("CN_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PC") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("PC_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PC") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("PC_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PC") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("PC_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "XH") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("XH_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "XH") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("XH_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "XH") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("XH_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CÑ") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("CÑ_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CÑ") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("CÑ_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CÑ") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("CÑ_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PV") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("PV_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PV") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("PV_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PV") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("PV_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "BX") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("BX_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "BX") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("BX_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "BX") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("BX_TV") - d_luongBQ) * ngaycong
End If
End If
End Function
Em tự viết mà nó dai dòng quá, nhờ các anh / chị giúp em rút gọn lại.
Trân trong cảm ơn!
Nếu tiền lương BQ / ngày > tiền lương qui định thì = 0
Ngược lại thì tiền lương theo qui định - tiền lương bình quân ngày * ngày công
d_luongBQ = tongluong / ngaycong
'=============================================
If (chucvu <> "" And d_luongBQ > 0) Then
If (Left(chucvu, 3) = "BÑH" And d_luongBQ < (Range("BÑH"))) Then
Bulg = (Range("BÑH") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 3) = "KCS" And d_luongBQ < (Range("KCS"))) Then
Bulg = (Range("KCS") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "MH") And Right(chucvu, 2) = "QC" And d_luongBQ < (Range("KCS")) Then
Bulg = (Range("MH_QC") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "MH") And Right(chucvu, 2) <> "QC" Then
Bulg = (Range("MH_TK") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "TK") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("TKE_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "TK") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("TKE_Tp") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "TK") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("TKE_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CN") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("CN_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CN") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("CN_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CN") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("CN_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PC") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("PC_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PC") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("PC_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PC") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("PC_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "XH") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("XH_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "XH") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("XH_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "XH") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("XH_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CÑ") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("CÑ_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CÑ") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("CÑ_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "CÑ") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("CÑ_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PV") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("PV_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PV") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("PV_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "PV") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("PV_TV") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "BX") And Right(chucvu, 2) = "TT" Then
Bulg = (Range("BX_TT") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "BX") And Right(chucvu, 2) = "TP" Then
Bulg = (Range("BX_TP") - d_luongBQ) * ngaycong
ElseIf (Left(chucvu, 2) = "BX") And Right(chucvu, 2) <> "TT" And Right(chucvu, 2) <> "TP" Then
Bulg = (Range("BX_TV") - d_luongBQ) * ngaycong
End If
End If
End Function
Em tự viết mà nó dai dòng quá, nhờ các anh / chị giúp em rút gọn lại.
Trân trong cảm ơn!
Nếu tiền lương BQ / ngày > tiền lương qui định thì = 0
Ngược lại thì tiền lương theo qui định - tiền lương bình quân ngày * ngày công