- Tham gia
- 8/6/06
- Bài viết
- 14,577
- Được thích
- 22,898
- Nghề nghiệp
- U80
Thường thì các cơ sở sản xuất kinh doanh tự đề ra qui chế lương thưởng nhằm khuyến khích người lao động hăng say trong công tác lao động sản xuất;
Thực hiện loại qui chế như vậy, thường có những loại công như nghĩ fép F (hay P), công ốm O, nghỉ thai sản TS, hay công học, họp H . . . . ta có thể dùng hàm COUNTIF() để tổng hợp công lúc cuối tháng.
Nhưng cũng có khi do đặc thù công việc, mà cơ sở nọ quy định như sau:
(1)
TT
|
Loại công
|
Cách chấm
01|Làm nguyên ngày|X
02|Làm nữa ngày|1/2
03|Làm tăng ca n giờ|Xn
04|. . . |. .
(2) Làm ngày chủ nhựt tách ra tính lương có thưởng riêng
Gặp những bảng chấm công như vậy, nếu ta áp dụng hàm COUNTIF() không fải là không được, nhưng sẽ khó vô chừng.
Sau đây là một hàm tự tạo đỡ đần ta vượt qua ải nhọc nhằn:
Thực hiện loại qui chế như vậy, thường có những loại công như nghĩ fép F (hay P), công ốm O, nghỉ thai sản TS, hay công học, họp H . . . . ta có thể dùng hàm COUNTIF() để tổng hợp công lúc cuối tháng.
Nhưng cũng có khi do đặc thù công việc, mà cơ sở nọ quy định như sau:
(1)
01|Làm nguyên ngày|X
02|Làm nữa ngày|1/2
03|Làm tăng ca n giờ|Xn
04|. . . |. .
(2) Làm ngày chủ nhựt tách ra tính lương có thưởng riêng
Gặp những bảng chấm công như vậy, nếu ta áp dụng hàm COUNTIF() không fải là không được, nhưng sẽ khó vô chừng.
Sau đây là một hàm tự tạo đỡ đần ta vượt qua ải nhọc nhằn:
PHP:
Option Explicit
Function THCong(Cong As Range, LCg As String) As Variant
Dim Cls As Range: Const DC As String = "/"
For Each Cls In Cong
Select Case UCase(LCg)
Case "X"
If Weekday(Cells(7, Cls.Column).Value) > 1 Then
If UCase(Left(Cls.Value, 1)) = "X" Then
THCong = THCong + 1
ElseIf Cls.Value = "1/2" Then
THCong = THCong + 0.5
End If
End If
Case "P", "KP", "O", "L"
13 If UCase(Cls.Value) = "P" And LCg = "P" Then THCong = THCong + 1
If UCase(Cls.Value) = "KP" And LCg = "KP" Then THCong = THCong + 1
15 If UCase(Cls.Value) = "O" And LCg = "O" Then THCong = THCong + 1
If UCase(Cls.Value) = "L" And LCg = "L" Then THCong = THCong + 1
Case "TG"
If Weekday(Cells(7, Cls.Column).Value) = 1 Then
If UCase(Cls.Value) = "X" Then
THCong = THCong + 1
ElseIf Cls.Value = "1/2" Then
THCong = THCong + 0.5
End If
End If
Case "TC"
On Error Resume Next
If Len(Cls.Value) >= 2 And InStr(Cls.Value, DC) < 1 Then
THCong = THCong + CDbl(Right(Cls.Value, 1))
End If
End Select
Next Cls
End Function
File đính kèm
Lần chỉnh sửa cuối: