Cần giúp đỡ code xử lý dữ liệu từ máy chấm công

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

taphets

Thành viên mới
Tham gia
9/4/16
Bài viết
34
Được thích
0
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 đỡ.
 

File đính kèm

  • Xuất lưới KTKD T11.xlsx
    25 KB · Đọc: 12
  • ChamCong.xlsx
    31.7 KB · Đọc: 10
Nếu là mình thì mình sẽ bố trí BCC như sau:

2023​
11​
01
02​
03​
04​
05
06
07​
08​
09​
10​
11​
12
13
. . .
Dương Hồng LuyệnPhòng Tổng hợpVào 1
Ra 1
Vào 2
Ra 2
Giờ
Công
Vào trễ
Ra sớm
Chu Hồng LinhPhòng Tổng hợpVào 1
, , , ,. . . .. . . .
 
Upvote 0
Nếu là mình thì mình sẽ bố trí BCC như sau:

2023​
11​
01
02​
03​
04​
05
06
07​
08​
09​
10​
11​
12
13
. . .
Dương Hồng LuyệnPhòng Tổng hợpVào 1
Ra 1
Vào 2
Ra 2
Giờ
Công
Vào trễ
Ra sớm
Chu Hồng LinhPhòng Tổng hợpVào 1
, , , ,. . . .. . . .
Em sắp xếp tên ngang ra là để dễ chụp màn hình gửi cho từng người ạ. Nếu để dọc có thể làm code dễ viết hơn thì a chỉ em với ạ
 
Upvote 0
Nếu cty công nhân lao động có mã nhân viên thì;
1. Dùng hàm sumifs để lấy giá trị theo điều kiện: mã nhân viên, ngày, thời gian vào ra 4 lần. Kết hợp hàm if và hàm left, right.
2. Dùng code VBA thì không khó, để các bạn khác chỉ bạn.
 
Upvote 0
Nếu cty công nhân lao động có mã nhân viên thì;
1. Dùng hàm sumifs để lấy giá trị theo điều kiện: mã nhân viên, ngày, thời gian vào ra 4 lần. Kết hợp hàm if và hàm left, right.
2. Dùng code VBA thì không khó, để các bạn khác chỉ bạn.
Nếu thời gian chuẩn thì cũng ko khó thật. Nhưng vì có những người quét mặt 2 3 lần nên dữ liệu Vào Ra nó nhảy loạn. Bạn xem trong file sẽ thấy
 
Upvote 0
Nếu là mình thì mình sẽ bố trí BCC như sau:

2023​
11​
01
02​
03​
04​
05
06
07​
08​
09​
10​
11​
12
13
. . .
Dương Hồng LuyệnPhòng Tổng hợpVào 1
Ra 1
Vào 2
Ra 2
Giờ
Công
Vào trễ
Ra sớm
Chu Hồng LinhPhòng Tổng hợpVào 1
, , , ,. . . .. . . .
E up thêm sheet "ChamCong1" theo chiều dọc ạ
 

File đính kèm

  • ChamCong (1).xlsx
    46.5 KB · Đọc: 10
Upvote 0
Web KT

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

Back
Top Bottom