Tính số ngày công làm việc giữa hai khoảng thời gian

  • Thread starter Thread starter DOSNET
  • Ngày gửi Ngày gửi
Liên hệ QC
Với cái đề bài như thế này thì nếu muốn tính lương cho 500 người, chỉ việc lấy số ngày công nhân với 500 rồi nhân với tiền thôi!

Chẳng nhẽ 500 ông nhân viên vào cùng một ngày, "ra đi" một ngày sao bác. Dù là bài toán thách đố cũng nên thực tế để ứng dụng được chứ ?
 

Ôi... lại không đọc kỹ đề bài nữa rồi.

Với cái đề bài như thế này thì nếu muốn tính lương cho 500 người, chỉ việc lấy số ngày công nhân với 500 rồi nhân với tiền thôi!

Quay lại chuyện lúc nãy, do tác giả thêm cái này:

Nên mình phải thêm một cái SUMPRODUCT nữa để tính những ngày lễ trùng với ngày thứ Bảy:

Ví dụ cho ngày 1/1:
= SUMPRODUCT((DAY(NGAY)=1)*(MONTH(NGAY)=1)*(WEEKDAY(NGAY)=7))​

Cả 4 ngày: 1/1, 30/4, 1/5 và 2/9, mỗi cái đều cho ra kết quả là 4, nghĩa là có 4 x 4 = 16 ngày nghỉ lễ trùng với thứ Bảy.

Vậy, đáp số đúng là (các bạn chịu khó dò với bài lúc nãy của tôi nghe):

Lấy số ngày làm của hàm NETWORKDAYS (=7240), cộng thêm tổng số ngày thứ bảy mà trừ bớt đi 16 rồi chia 2 (= (1447 - 16)/2 = 715.5), rồi trừ đi tổng số ngày nghỉ rơi vào những ngày thường trong tuần (= 20 + 19 + 19 + 20 = 78):
7240 + 715.5 - 78 = 7877.5
Có đúng không Hoàng Danh ơi?

Em cũng không chắc nữa anh à, có nhiều kết quả khác nhau và em cũng không chắc chắn rằng kết quả của em là chính xác, tối nay về test lại và chứng minh từng khúc đã.
- Đã làm thì làm cho tới luôn :
Tính số ngày công làm việc của 1 nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008, biết rằng ngày thứ 7 làm 1/2 ngày, có 4 ngày nghỉ lễ, đó là 01/01; 30/04; 01/05; 02/09. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường (ngày thứ 7 xem như là ngày làm việc bình thường, nhưng chỉ làm 1/2 ngày).
- Làm hoàn thành sẽ tính cho danh sách 100 nhân viên với ngày vào làm việc và ngày nghỉ khác nhau.
Hy vọng nhận được giải pháp từ các Bác VBA.
 
Nếu bài này dùng VBA thì tôi nghĩ không khó lắm, vòng lập For quét qua toàn bộ ngày rồi đặt d/k là ra!
Dùng công thức cũng không phải là không được, tôi đang tính nhưng chưa hài lòng vì giãi pháp dùng mãng khá nặng
 
Em góp vui với :

Giả sử rằng các ngày lễ nếu trùng vào T7 thì vẫn được tính là nghỉ 1,5 ngày. Nếu trùng vào CN thì được tính là nghỉ 2 ngày.

Ta có 2 UDF sau :

Theo kiểu truyền thống : Quét từ đàu đến cuối : Hơi lâu

PHP:
Function NgayCong(NgayDau As Date, NgayCuoi As Date) As Double
    If NgayDau > NgayCuoi Then Exit Function
    Application.Volatile (False)
    Dim i As Long, NgayGiam As Double
    For i = NgayDau To NgayCuoi
        ' Xet Ngay T7 va ngay Chu Nhat
        If Weekday(i, vbSunday) = 7 Then
            NgayGiam = NgayGiam + 0.5
        ElseIf Weekday(i, vbSunday) = 1 Then
            NgayGiam = NgayGiam + 1
        End If
        'Cac ngay duoc nghi 01/01,30/04,01/05,02/09
        Select Case Format(i, "dd/mm")
        Case "01/01", "30/04", "01/05", "02/09"
            NgayGiam = NgayGiam + 1
        End Select
    Next
    NgayCong = WorksheetFunction.Max(NgayCuoi - NgayDau + 1 - NgayGiam, 0)
End Function





Theo kiểu khác : Nhanh hơn (chưa phải là nhất)
PHP:
Function NC(NgayDau As Date, NgayCuoi As Date) As Double
    If NgayDau > NgayCuoi Then Exit Function
    Application.Volatile (False)
    Dim i As Long, NgayGiam As Double, iLe As Byte, Ngay As Date
    Dim SoTuan As Integer
    
    SoTuan = Int((NgayCuoi - NgayDau) / 7)
    NC = SoTuan * 5.5 + (NgayCuoi - (NgayDau + SoTuan * 7) + 1)
    
    ' Xet Ngay T7 va ngay Chu Nhat
    For i = NgayDau + SoTuan * 7 To NgayCuoi
        
        If Weekday(i, vbSunday) = 7 Then
            NgayGiam = NgayGiam + 0.5
        ElseIf Weekday(i, vbSunday) = 1 Then
            NgayGiam = NgayGiam + 1
        End If
    Next
    'Cac ngay duoc nghi 01/01,30/04,01/05,02/09
     ' Xet cac nam
    For i = Year(NgayDau) To Year(NgayCuoi)
        For iLe = 1 To 4
            Ngay = Choose(iLe, DateSerial(i, 1, 1), _
                    DateSerial(i, 4, 30), DateSerial(i, 5, 1), _
                    DateSerial(i, 9, 2))
            If Ngay >= NgayDau And Ngay <= NgayCuoi Then
                NgayGiam = NgayGiam + 1
            ElseIf Ngay > NgayCuoi Then
                GoTo thoat
            End If
        Next
    Next
thoat:
    NC = WorksheetFunction.Max(NC - NgayGiam, 0)
End Function



Than!
 

File đính kèm

Lần chỉnh sửa cuối:
Em nhẩm ra con số chính xác:
Từ 1-6-1980 đến ngày 29-2-2008 là 10134 ngày
(Từ 1-6-1980 đến hết ngày 29-2-2008 là 10135 ngày)
Trong đó:
  1. 1448 ngày chủ nhật
  2. 1447 ngày thứ 7
  3. 110 ngày lễ (1-1, 30-4, 1-5, 2-9)
    • 28 ngày 1-1
    • 27 ngày 30-4
    • 27 ngày 1-5
    • 28 ngày 2-9
  4. 16 ngày lễ trùng với ngày thứ 7
    • 4 ngày 1-1
    • 4 ngày 30-4
    • 4 ngày 1-5
    • 4 ngày 2-9
  5. 16 ngày lễ trùng với ngày chủ nhật
    • 4 ngày 1-1
    • 4 ngày 30-4
    • 4 ngày 1-5
    • 4 ngày 2-9
Vậy theo các bác tổng số ngày công là bao nhiêu?
 
Lần chỉnh sửa cuối:
Mình lập thử 1 bảng ngày lễ từ năm 1980 -> 2008 (NgayLe) và lập 1 list ngày từ 01/06/1980 -> 29/02/2008. Và dùng hàm if kết hợp countif thì ra tổng số ngày là
7877,5 nếu không tính CN = Lễ
7893,5 nếu tính CN = Lễ (trong khỏang TG trên có 16 ngày lễ là CN)
Theo bảng kèm theo.
Và làm thử 1 code Sobuoi và SoBuoiNL (chưa gọt) nhưng thấy dài dòng quá, các bạn giúp cải tiến lại hộ. Và test có đúng không.
Cám ơn nhiều.
Thông cảm file nặng do có > 10.000 row có ct.
 

File đính kèm

Em cũng không chắc nữa anh à, có nhiều kết quả khác nhau và em cũng không chắc chắn rằng kết quả của em là chính xác, tối nay về test lại và chứng minh từng khúc đã.
- Đã làm thì làm cho tới luôn :
Tính số ngày công làm việc của 1 nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008, biết rằng ngày thứ 7 làm 1/2 ngày, có 4 ngày nghỉ lễ, đó là 01/01; 30/04; 01/05; 02/09. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường (ngày thứ 7 xem như là ngày làm việc bình thường, nhưng chỉ làm 1/2 ngày).
- Làm hoàn thành sẽ tính cho danh sách 100 nhân viên với ngày vào làm việc và ngày nghỉ khác nhau.
Hy vọng nhận được giải pháp từ các Bác VBA.

Cần rõ hơn xíu : Nếu đi làm :
  1. Ngày bình thường : Được tính 1 công
  2. Ngày Thứ 7 : được tính 0,5 công
  3. Ngày CN (dĩ nhiên là không đi làm) : 0 công
Nếu là ngày lễ :
  1. Ngày bình thường : Được tính thêm 1 công
  2. Ngày Thứ 7 : được tính thêm 0,5 công
  3. Ngày CN (dĩ nhiên là không đi làm) : 1 công
Như thế có đúng không nhỉ ???

Thân!
 
Nếu dùng UDF để tính công thì theo tôi nên thêm 1 tham số nửa: Holiday As String
Như vậy sẽ tăng thêm sức mạnh cho hàm
1/1 chỉ cần gỏ 0101
30/4 chỉ cần gỏ 3004
1/5 chỉ cần gỏ 0105
2/9 chỉ cần gỏ 0209

Là đủ (đở mất công nhầm)
Tôi dùng công thức mãng cũng dựa trên cách này, rất dể dàng
=IF(Text(...... ,"ddmm")="3004",......)
(Vớicông thức thì tham số này tôi cho vào name)
 
Em cũng không chắc nữa anh à, có nhiều kết quả khác nhau và em cũng không chắc chắn rằng kết quả của em là chính xác, tối nay về test lại và chứng minh từng khúc đã.
- Đã làm thì làm cho tới luôn :
Tính số ngày công làm việc của 1 nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008, biết rằng ngày thứ 7 làm 1/2 ngày, có 4 ngày nghỉ lễ, đó là 01/01; 30/04; 01/05; 02/09. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường (ngày thứ 7 xem như là ngày làm việc bình thường, nhưng chỉ làm 1/2 ngày).
- Làm hoàn thành sẽ tính cho danh sách 100 nhân viên với ngày vào làm việc và ngày nghỉ khác nhau.
Hy vọng nhận được giải pháp từ các Bác VBA.
Tôi thì lại xin góp ý như vầy cho chuyện làm tới nơi:
Trong thực tế chắc chẳng có công ty nào mà dồn ngày công của nhân viên từ năm 1980 đến năm 2008 mới ngồi mà tính sổ. Cho nên nếu cứ phải đi dò theo kiểu xuyên năm, xuyên thế kỷ vầy, mà không áp dụng được, thì có nên không?

Nên chăng chúng ta chỉ tập trung làm chuyện tính ngày công cho một nhân viên trong thời hạn tối đa là 1 năm mà thôi.
Trong trường hợp lỡ như mà có phải tính lại các năm trước, thì vẫn tính theo từng năm, sau đó cộng lại.
Thiết nghĩ như vậy thực tế hơn, và có thể áp dụng vào thực tế được.
 
Nên chăng chúng ta chỉ tập trung làm chuyện tính ngày công cho một nhân viên trong thời hạn tối đa là 1 năm mà thôi.
Trong trường hợp lỡ như mà có phải tính lại các năm trước, thì vẫn tính theo từng năm, sau đó cộng lại.
Thiết nghĩ như vậy thực tế hơn, và có thể áp dụng vào thực tế được.
Đúng là làm từng năm thì đơn giản nhất, nhưng ta cứ xem đây là 1 bài toán đi
Cùng nhau tìm giãi pháp là điều kiện tốt nhất cho ta học hỏi thêm thuật toán
 
Trước hết mình tham gia ý kiến,nếu tính công làm việc từ ngày 1/6/1980 đến 29/2/2008 thì các bạn nên tính tổng số ngày từ 1/6/1980 đến 29/2/2008 là 10135 ngày ,rồi trên cơ sở đó sẽ tính số công làm việc cụ thể theo từng điều kiện không thì họ kiện đó,dám ăn bớt ngày công của họ
 
Bác BNTT test lại hộ đáp số nào là chính xác cái, làm xuyên thế kỷ khó test quá.
Cám ơn Bác nhiều. Cái vụ này mà làm = Ct thì nên dùng cột phụ nhiều là dễ hiểu.
 
Thunghi đã viết:
BNTT test lại hộ đáp số nào là chính xác cái, làm xuyên thế kỷ khó test quá.
Em xin tính lại theo cái đề mới nhất (và cũng mong là sau cùng) này:
hoangdanh282vn đã viết:
- Đã làm thì làm cho tới luôn :
Tính số ngày công làm việc của 1 nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008, biết rằng ngày thứ 7 làm 1/2 ngày, có 4 ngày nghỉ lễ, đó là 01/01; 30/04; 01/05; 02/09. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường (ngày thứ 7 xem như là ngày làm việc bình thường, nhưng chỉ làm 1/2 ngày).
Đây là các đầu vào:
  • Số ngày có trong khoảng thời gian từ ngày 01/06/1980 đến ngày 29/02/2008 là 10.135 ngày
  • Số ngày thứ Bảy có trong 10.135 ngày nói trên = 1.447 ngày
  • Số ngày Chủ Nhật có trong 10.135 ngày nói trên = 1.448 ngày
  • Số ngày nghỉ lễ: 1/1 (28 ngày), 30/4 (27 ngày), 1/5 (27 ngày) và 2/9 (28 ngày), tổng cộng = 110 ngày
  • Số ngày nghỉ lễ trùng với thứ Bảy: mỗi loại 4 ngày, tổng cộng = 16 ngày
  • Số ngày nghỉ lễ trùng với Chủ Nhật: mỗi loại cũng 4 ngày, tổng cộng = 16 ngày


Tính từng bước một theo đề bài (như làm toán lớp 6 vậy):
  • Số công bình thường (chưa thêm bớt):
    = 10.135 (ngày) - 1.448 (CN) - 1.447 (T7) = 7.240 công
    (cái này dùng hàm NETWORKDAYS cũng cho ra kết quả tương tự)

  • Số ngày nghỉ lễ sau khi trừ đi các ngày trùng với Chủ Nhật và Thứ Bảy:
    = 110 - 16 - 16 = 78 ngày
    Vậy số công còn lại để tính là:
    = 7.240 - 78 = 7.162 công

  • Số ngày thứ Bảy trùng với ngày nghỉ lễ là 16 ngày, vì sẽ được nghỉ nguyên ngày như ngày nghỉ lễ, nên số ngày thứ bảy sẽ được tính 1/2 công còn lại là:
    = 1.447 - 16 = 1.431 ngày

    và số công được tính cho những ngày thứ Bảy là:
    = 1.431 x 1/2 = 715,5 ngày

    vậy số công bi giờ sẽ là:
    = 7.162 + 715.5 = 7.877,5 công

  • Vì ngày Chủ nhật mà trùng với ngày nghỉ lễ (16 ngày) thì được tính 1 công, do đó số công sẽ tăng thêm, và đây là kết quả cuối cùng:
    = 7.877,5 + 16 = 7.893,5 công
 
Lần chỉnh sửa cuối:
Cám ơn nhưng chưa đúng lắm sẽ sửa lại code
Còn ct minh sẽ làm như sau
Bây giờ mình làm ct thử xem
1/ Ngày lễ: 2 công
2/ Ngày lễ = thứ bảy: 2 công (đương nhiên rồi)
Ta có
A2: ngaydau: 01/06/1980
B2: ngaycuoi: 29/02/2008
Tạo 1 name tạm cho ngắn bớt
eDay=ROW(INDIRECT(VALUE(ct!$A$2)&":"&VALUE(ct!$B$2)))
1/ Số công chưa tính NL, T7, CN: ($B$2-$A$2+1)*2
2/ Số CN:
=SUMPRODUCT(--(WEEKDAY(eDay)=1))
3/ Số CN là NL =SUMPRODUCT(--(NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=1))
4/ Số công CN mà khác NL (2) - (3) =SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=1))*2
...
tương tự
5/ Số công TB mà khác NL =SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=7))
6/ Số công NL là
=SUMPRODUCT(--(NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))))*2

Từ đó => số công trừ T7, CN, NL, nếu NL là T7 thì 2 công là:
(1) - (4) -(5) : là

=($B$2-$A$2+1)*2-SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=1))*2-SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=7))
Đáp số là 15.975/2 =7987,5 ngày
 
1/ Ngày lễ: 2 công
2/ Ngày lễ = thứ bảy: 2 công (đương nhiên rồi)
Ủa đề bài của Hoàng Danh đâu có nói chuyện này anh ?
hoangdanh282vn đã viết:
- Đã làm thì làm cho tới luôn :
Tính số ngày công làm việc của 1 nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008, biết rằng ngày thứ 7 làm 1/2 ngày, có 4 ngày nghỉ lễ, đó là 01/01; 30/04; 01/05; 02/09. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường (ngày thứ 7 xem như là ngày làm việc bình thường, nhưng chỉ làm 1/2 ngày).
 
Ủa đề bài của Hoàng Danh đâu có nói chuyện này anh ?
Thì tính trừ lại số T7 là NL: 16 ngày, NL mà trùng T7 tính 1/2 buồn lắm đó.
Lúc này sẽ quan tâm CN trùng NL là bao nhiêu ngày
Lấy SN*2 - TB*1 - (CN-NL(trùng CN))*2
 
Đây là cái bảng tính minh họa cho những gì tôi viết ở bài #34.
Đáp số vẫn là 7893,5 ngày.
 

File đính kèm

Theo em hiểu thì như thế này, các Bác cho ý kiến nha.
Số ngày công từ thứ 2->6 :
=networkdays(Sheet2!$A1,Sheet2!$B1)
: 7240 ngày
Số ngày công thứ 7 :
=SUMPRODUCT(--(WEEKDAY(tg)=7))/2
: 723.5 ngày
=> Số ngày công từ thứ 2->7 : 7963.5 ngày
Số ngày nghỉ lễ :
=(SUMPRODUCT((DAY(tg)=1)*(MONTH(tg)=1)+(DAY(tg)=30)*(MONTH(tg)=4)+(DAY(tg)=1)*(MONTH(tg)=5)+(DAY(tg)=2)*(MONTH(tg)=9)))
: 110 ngày
Với
tg=ROW(INDIRECT(Sheet2!$A1&":"&Sheet2!$B1))
Nếu ngày lễ trùng vào ngày thứ 7 thì đương nhiên là người lao động được nghỉ bình thường, và chế độ cũng như các ngày khác.
Nếu ngày CN trùng vào ngày lễ trùng và CN thì người lao động được nghỉ bù vào một ngày nào đó và dĩ nhiên là đã nghỉ rồi, vậy cứ coi như đây là một ngày nghỉ lễ như các ngày khác trong tuần.
Như vậy : số ngày công sẽ là số ngày làm việc từ thứ 2->7 trừ cho số ngày nghỉ lễ là ổn rồi.
7963.5-110=7853.5 ngày
Các anh xem coi có đúng vậy không
 

File đính kèm

Lần chỉnh sửa cuối:
Theo em hiểu thì như thế này, các Bác cho ý kiến nha.
Số ngày công từ thứ 2->6 :
=networkdays(Sheet2!$A1,Sheet2!$B1)
: 7240 ngày
CÁI NÀY ĐÚNG

Số ngày công thứ 7 :
=SUMPRODUCT(--(WEEKDAY(tg)=7))/2
: 723.5 ngày
SAI. VÌ CÒN MẤY THỨ BẢY TRÙNG VỚI NGÀY LỄ THÌ SAO?

=> Số ngày công từ thứ 2->7 : 7963.5 ngày
SAI, VÌ Ở TRÊN ĐÃ SAI

Số ngày nghỉ lễ :
=(SUMPRODUCT((DAY(tg)=1)*(MONTH(tg)=1)+(DAY(tg)=30 )*(MONTH(tg)=4)+(DAY(tg)=1)*(MONTH(tg)=5)+(DAY(tg) =2)*(MONTH(tg)=9)))
: 110 ngày
CÁI NÀY ĐÚNG


Với
tg=ROW(INDIRECT(Sheet2!$A1&":"&Sheet2!$B1))
Nếu ngày lễ trùng vào ngày thứ 7 thì đương nhiên là người lao động được nghỉ bình thường, và chế độ cũng như các ngày khác.
Cái này không giống với đề bài của em nêu ra.

Nếu ngày CN trùng vào ngày lễ trùng và CN thì người lao động được nghỉ bù vào một ngày nào đó và dĩ nhiên là đã nghỉ rồi, vậy cứ coi như đây là một ngày nghỉ lễ như các ngày khác trong tuần.
Cái này cũng không giống với đề bài của em.

Như vậy : số ngày công sẽ là số ngày làm việc từ thứ 2->7 trừ cho số ngày nghỉ lễ là ổn rồi.
Không ổn!

7963.5-110=7853.5 ngày
Không đúng. Vì ở trên đã sai nhiều.

Các anh xem coi có đúng vậy không

Em lại mâu thuẫn với cái đề bài do chính em đặt ra rồi.
Đề bài của em nè:
Tính số ngày công làm việc của 1 nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008, biết rằng ngày thứ 7 làm 1/2 ngày, có 4 ngày nghỉ lễ, đó là 01/01; 30/04; 01/05; 02/09. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường (ngày thứ 7 xem như là ngày làm việc bình thường, nhưng chỉ làm 1/2 ngày).
Đây nhé:
  1. Ngày thứ 7 trùng vào ngày nghỉ lễ thì được nghỉ lễ bình thường
    Nếu đúng như vậy, thì khi số công của ngày thứ Bảy, em phải lấy số ngày thứ Bảy bình thường trừ đi số ngày thứ Bảy mà trùng vào ngày lễ, rồi mới đem chia cho 2 chứ?
    Sao em lại lấy số ngày thứ Bảy bình thường chia luôn cho 2 ?
    Những ngày thứ Bảy mà trùng với ngày nghỉ lễ thì sẽ tính là ngày nghỉ, do dó số công của nó = 0, chứ không phải bằng 1/2 công.
    Và tổng số ngày nghỉ lễ phải trừ bớt đi số ngày trùng với ngày thứ Bảy nữa, nếu không thì sẽ trừ 2 lần, một lần cho ngày nghỉ (trong số 110 ngày), thêm một lần trừ cho ngày thứ Bảy mà trùng ngày nghỉ.

  2. Nếu ngày chủ nhật trùng với ngày nghỉ lễ thì sẽ tính công cho ngày này
    Nếu đúng theo cái này, thì tổng số ngày nghỉ lễ phải trừ bớt đi số ngày trùng với ngày Chủ Nhật, vì những ngày trùng với ngày Chủ Nhật vẫn được tính 1 công.

Xem lại cái file anh gửi lên đi.
Trong đó có một hàng (hàng 2) là cách tính công cho những ngày tương ứng ở hàng 1.
Cách tính này bám theo cái đề bài của em.
 
Web KT

Bài viết mới nhất

Back
Top Bottom