Dear anh chị, em có file dữ liệu từ máy chấm công (file Xuất lưới KTKD T11). Công ty em chấm công chia thành 2 ca (8h-12h, 13h30-17h30) => 1 ngày chấm 4 lượt.
Em cần chuyển từ dữ liệu này sang file ChamCong với các dữ liệu như sau:
- Khi load file dữ liệu từ máy chấm công, cột A ở file ChamCong sẽ lấy các ngày (không trùng lặp) và theo thứ tự tăng dần, cột B hiện thị thứ tương ứng của ngày ở cột A
- Các cột Vào 1 là thời gian được chấm sớm nhất của ngày đó của cả 2 cột Vào và Ra trong file Xuất lưới
- Các cột Ra 1 là thời gian gần mốc 12h nhất của cả 2 cột Vào và Ra trong file Xuất lưới (ngoại trừ thời gian đã lấy ở cột Vào 1)
- Các cột Vào 2 là thời gian được chấm gần mốc 13h30 nhất của cả 2 cột Vào và Ra trong file Xuất lưới (ngoại trừ thời gian đã lấy ở cột Vào 1, Ra 1)
- Các cột Ra 2 là thời gian được chấm gần mốc 17h30 nhất của cả 2 cột Vào và Ra trong file Xuất lưới (ngoại trừ thời gian đã lấy ở cột Vào 1, Ra 1, Vào 2)
- Các cột Giờ = (Ra 1 - Vào 1) + (Ra 2 - Vào 2)
- Các cột Công = Giờ /8
- Các cột Vào trễ = a X (Vào 1 - 8h00) + b X (Vào 2 - 13h30) trong đó a = 0 nếu Vào 1 <= 8h00, a = 1 nếu Vào 1 > 8h00; b = 0 nếu Vào 2 <= 13h30, b = 1 nếu Vào 2 > 13h30
- Các cột Ra sớm = a X (12h - Ra 1) + b X (17h30 - Ra 2) trong đó a = 0 nếu Ra 1 >= 12h00, a = 1 nếu Ra 1 < 12h00; b = 0 nếu Ra 2 >= 17h30, b = 1 nếu Ra 2 < 17h30
Em đang bị rối với các trường hợp quên chấm công nên nếu anh chị có ý tưởng thì cho e lời khuyên ạ. Nếu không thì code như trên là quá tốt r ạ.
Cảm ơn các anh chị giúp đỡ.
Em cần chuyển từ dữ liệu này sang file ChamCong với các dữ liệu như sau:
- Khi load file dữ liệu từ máy chấm công, cột A ở file ChamCong sẽ lấy các ngày (không trùng lặp) và theo thứ tự tăng dần, cột B hiện thị thứ tương ứng của ngày ở cột A
- Các cột Vào 1 là thời gian được chấm sớm nhất của ngày đó của cả 2 cột Vào và Ra trong file Xuất lưới
- Các cột Ra 1 là thời gian gần mốc 12h nhất của cả 2 cột Vào và Ra trong file Xuất lưới (ngoại trừ thời gian đã lấy ở cột Vào 1)
- Các cột Vào 2 là thời gian được chấm gần mốc 13h30 nhất của cả 2 cột Vào và Ra trong file Xuất lưới (ngoại trừ thời gian đã lấy ở cột Vào 1, Ra 1)
- Các cột Ra 2 là thời gian được chấm gần mốc 17h30 nhất của cả 2 cột Vào và Ra trong file Xuất lưới (ngoại trừ thời gian đã lấy ở cột Vào 1, Ra 1, Vào 2)
- Các cột Giờ = (Ra 1 - Vào 1) + (Ra 2 - Vào 2)
- Các cột Công = Giờ /8
- Các cột Vào trễ = a X (Vào 1 - 8h00) + b X (Vào 2 - 13h30) trong đó a = 0 nếu Vào 1 <= 8h00, a = 1 nếu Vào 1 > 8h00; b = 0 nếu Vào 2 <= 13h30, b = 1 nếu Vào 2 > 13h30
- Các cột Ra sớm = a X (12h - Ra 1) + b X (17h30 - Ra 2) trong đó a = 0 nếu Ra 1 >= 12h00, a = 1 nếu Ra 1 < 12h00; b = 0 nếu Ra 2 >= 17h30, b = 1 nếu Ra 2 < 17h30
Em đang bị rối với các trường hợp quên chấm công nên nếu anh chị có ý tưởng thì cho e lời khuyên ạ. Nếu không thì code như trên là quá tốt r ạ.
Cảm ơn các anh chị giúp đỡ.