Chấm công bằng máy chấm công, việc tưởng chừng như giúp đỡ nhiều cho những người làm nhân sự, nhưng thực tế lại đem đến không ít những khó khăn, phiền toái:
Bài viết này Học Excel Online sẽ hướng dẫn các bạn kỹ năng để có thể xây dựng 1 bảng excel với chức năng sàng lọc thông tin từ máy chấm công để cho ra kết quả như ý muốn.
Xem nhanh
– File excel kết xuất dữ liệu từ máy chấm công
– File excel mới (.xlsx hoặc .xls là được. Ngoài ra nếu muốn nâng cao thêm VBA có thể dùng file .xlsm)
Ví dụ với bảng dữ liệu kết xuất từ máy chấm công ra như trên
2.1. Bước 1: Khảo sát, đánh giá và phân tích dữ liệu nguồn (bảng dữ liệu kết xuất từ máy chấm công ra excel)
Đây là bước rất quan trọng, Việc phân tích bảng dữ liệu nguồn sẽ giúp chúng ta có phương án xử lý phù hợp và chính xác.
Xem thêm: Hướng dẫn cách tạo bảng chấm công bằng Excel cực kỳ chi tiết
Để thực hiện công việc này, chúng ta cần nắm được các nguyên tắc sau:
Ta có thể thấy, để tính toán được, cần phải điều chỉnh lại cấu trúc bảng dữ liệu sao cho đúng các tiêu chí.
Việc tính toán trên nhiều điều kiện, nên hàm sẽ sử dụng để tính toán là SUMIFS, COUNTIFS và hàm IF
2.2. Bước 2: Cấu trúc lại bảng dữ liệu
Để rút gọn bài viết, mình sẽ không nêu từng thao tác, mà sẽ đưa hình mẫu và gợi ý các cách làm để các bạn có thể tự làm được:
Tất cả những nội dung trên, mình đã hướng dẫn chi tiết trong bài: Tạo bảng chấm công trên excel. Vui lòng xem lại bài này để được hướng dẫn chi tiết.
2.3. Lọc và lấy dữ liệu
Tại bảng kết xuất, dùng chức năng Data/Filter để lọc bỏ dòng trống trong cột Mã NV, sau đó copy dữ liệu sang bảng xử lý. Sử dụng chức năng Paste Special/Value để dán dữ liệu bỏ qua dòng bị ẩn.
Bảng kết xuất sử dụng chức năng lọc (Data Filter)
Dữ liệu chấm công ở bảng kết xuất => Copy / Paste Special -> Value => Sang bảng xử lý
2.4. Tính giờ công trong ngày
Tạo thêm 1 vùng, trong đó mỗi ngày chỉ tương ứng 1 cột. Cách xử lý ngày, thứ giống với phần trước.
=> Mục đích: Tính số giờ công làm việc theo từng ngày
Giờ công làm việc trong ngày = Giờ ra – Giờ vào
Giờ ra = (Tổng số phút quy ước tại thời điểm chấm công ra = Số giờ * 60 + Số phút)/60
Giờ vào = (Tổng số phút quy ước tại thời điểm chấm công vào = Số giờ * 60 + Số phút)/60
BN7 =ROUND(((HOUR(SUMIFS($D7:$BM7,$D$4:$BM$4,BN$4,$D$6:$BM$6,2))*60+MINUTE(SUMIFS($D7:$BM7,$D$4:$BM$4,BN$4,$D$6:$BM$6,2)))-(HOUR(SUMIFS($D7:$BM7,$D$4:$BM$4,BN$4,$D$6:$BM$6,1))*60+MINUTE(SUMIFS($D7:$BM7,$D$4:$BM$4,BN$4,$D$6:$BM$6,1))))/60,2)
Bạn có thể filldown, fillright công thức từ BN7 cho các ô khác.
* Lưu ý:
Có thể có số âm. Số âm là trường hợp Chỉ có giờ vào mà không có giờ ra => Lý do: Quên chấm công. Việc này thường xảy ra
Xem thêm: lớp học VBA ở Hà Nội
2.5. Xác định kết quả chấm công
Ví dụ chúng ta cần 1 số kết quả chấm công như sau:
Ta có thể thấy:
CS7 = COUNTIF(BN7:CR7,”>=”&8)
CT7 = COUNTIFS(BN7:CR7,”<“&0)
CU7 = CS7+CT7 hoặc CU7 = CS7+(CT7/2)
CV7 = IF(B7=””,0,COUNTIF(BN7:CR7,0)-COUNTIF(BN$5:CR$5,”CN”)-COUNTIF(BN$4:CR$4,””))
Muộn 5′ => CW7 = COUNTIFS($D7:$BM7,”>”&”8:05″,$D7:$BM7,”<“&”8:10”,$D$6:$BM$6,1)
Muộn 10′ => CX7 = COUNTIFS($D7:$BM7,”>”&”8:10″,$D7:$BM7,”<“&”8:15”,$D$6:$BM$6,1)
Muộn trên 15′ => CY7 = COUNTIFS($D7:$BM7,”>”&”8:15″,$D$6:$BM$6,1)
=> Bạn có thể filldown công thức xuống cho các mã NV tiếp theo
Kết quả của mục 2.5 là kết quả cuối cùng, có thể sử dụng để tính lương cho NV
Mình sẽ gợi ý một vài kỹ thuật giúp tối ưu hoá bảng xử lý: (Ưu tiên cho những bạn biết sử dụng VBA, nếu không biết VBA thì làm thủ công bằng tay)
VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook… giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp…
Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại: