Xử lý dữ liệu lấy từ máy chấm công

luongkiengxuong

Thành viên chính thức
Tham gia ngày
8 Tháng sáu 2009
Bài viết
72
Được thích
19
Điểm
670
Cảm ơn bạn HieuCD rất nhiều , bạn rất nhiệt tình qua cách hướng dẫn của bạn mình học được rất nhiều điều bổ ích! Cảm ơn
 

luongkiengxuong

Thành viên chính thức
Tham gia ngày
8 Tháng sáu 2009
Bài viết
72
Được thích
19
Điểm
670
Chào bạn HieuCD, mình xin lỗi làm phiền bạn quá , mình hiểu hàm offset nhưng mình chỉ hiểu ở mức độ cơ bản là hàm sẽ di dời số dòng và số cột tại một tham chiếu cho trước và mình cũng chưa hiểu được ứng dụng thực tế của nó, mình cũng có chạy thử hàm offset của bạn nhưng mình không hiểu ý nghĩa của nó , mong bạn chỉ dạy cho mình thêm để có thể áp dụng trong trường hợp khác , bạn có thể giải thích cho mình hiểu công thức Ngau_ID và Gio mà bạn dùng hàm offset được không cảm ơn bạn HieuCD rất nhiều!
 

Huỳnh Trang86

Thành viên mới
Tham gia ngày
7 Tháng một 2017
Bài viết
2
Được thích
1
Điểm
0
Xử lý dữ liệu từ máy chấm công
Mình cũng muốn hỏi giống như bạn tuanquapharco, cty mình cũng sử dụng máy chấm công bằng dấu vân tay.
Các bạn vui lòng chỉ giúp tôi tạo công thức để tính giờ làm bình thường, và tách giờ tăng ca ra giờ buổi chiều.
VD: Nguyễn Văn A: buổi sáng Giờ vào 7:15 giờ ra 11:30,
buổi chiều giờ vào 13:00 giờ ra 17:00, nếu có tăng ca thì nhập giờ tăng ca chung buổi chiều.Giờ vào 13:00 giờ ra 20:30
Có những trường hợp vào làm trước 7:30 sẽ không tính công, bởi vì thời gian quy định bắt đầu làm việc từ 7:30, mình làm sao để tính đúng thời gian quy định.
Chỉ giúp mình công thức trừ giờ nghỉ tăng ca, giờ tăng ca từ 17:30->20:30.
Cảm ơn rất nhiều!
Bạn ơi giúp mình với, mình cũng đang gặp trường hợp này. Mong phản hồi của bạn, mình cảm ơn.
 

Nhitran104

Thành viên mới
Tham gia ngày
15 Tháng mười một 2017
Bài viết
3
Được thích
0
Điểm
163
Tuổi
28
Mình không giỏi về excel lắm, nên mỗi tháng chấm công đều rất mất thời gian và cũng đã cố gắng tìm cách khắc phục nhưng không được
nhờ mọi người giúp đỡ hướng dẫn cách xử lý dữ liệu xuất từ phần mềm chấm công để tạo được bảng công cho nhân viên nhanh nhất
Mình xuất file tính thời gian chấm của nhân viên như file đính kèm
Công ty mình có các ca sau:
- ca 1: 6:00~14:00
- Ca 2: 14:00~22:00
- Ca 3: 22:00~6:00 (ngày hôm sau)
- Hành chánh: 8:00~16:30
- Ca 1B: 10:00~18:00
- Ca 2B: 12:00~20:00
Làm việc từ thứ 2 đến thứ 7 hàng tuần (thứ 7 thường được nghỉ hưởng lương)
Thời gian tăng ca được tính sau thời gian về, riêng Ca 3 sẽ tính thời gian tăng ca trước khi bắt đầu làm, ngày chủ nhật tính tăng ca
Rất cảm ơn mọi người
 

File đính kèm

Hoang2013

Thành viên gắn bó
Tham gia ngày
15 Tháng tám 2013
Bài viết
1,625
Được thích
1,598
Điểm
560
Tuổi
6
Tạm thời là vầy; Bạn kiểm & cho í kiến tiếp theo
 

File đính kèm

Hoang2013

Thành viên gắn bó
Tham gia ngày
15 Tháng tám 2013
Bài viết
1,625
Được thích
1,598
Điểm
560
Tuổi
6
Để có kết quả, cần chạy 1 macro;
Nó được cải tiến thêm trong khi chờ bạn trả lời, như sau:
PHP:
Sub ChuyenCong()
 Dim Sh As Worksheet, Arr()
 Dim J As Long, Rws As Long, Dg As Integer, Ng As Integer, NCT As Integer

 On Error Resume Next
 Rws = [b10].CurrentRegion.Rows.Count
 Arr() = [A10].Resize(Rws, 6).Value
 Set Sh = ThisWorkbook.Worksheets("BCC")
 NCT = Day(DateSerial(Sh.[a3].Value, Sh.[a4].Value, 0))
 MsgBox NCT
 For Dg = 7 To Sh.[C9999].End(xlUp).Row Step 2
    ReDim dArr(1 To 2, 1 To 31)
    For J = 1 To UBound(Arr())
        If Arr(J, 3) = Sh.Cells(Dg, "C").Value Then
            Ng = Day(Arr(J, 1))
            If Arr(J, 4) > 0 Then
                If Ng > 20 Then
                    dArr(1, Ng - 20) = Arr(J, 4)
                    dArr(2, Ng - 20) = Arr(J, 6)
                Else
                    dArr(1, NCT - 20 + Ng) = Arr(J, 4)
                    dArr(2, NCT + Ng - 20) = Arr(J, 6)
                End If
            End If
        End If
    Next J
    Sh.Cells(Dg, "E").Resize(2, 31).Value = dArr()
    Erase dArr()
 Next Dg
End Sub
Rất vui được tiếp tục trao đổi cùng bạn!
 

Nhitran104

Thành viên mới
Tham gia ngày
15 Tháng mười một 2017
Bài viết
3
Được thích
0
Điểm
163
Tuổi
28
Để có kết quả, cần chạy 1 macro;
Nó được cải tiến thêm trong khi chờ bạn trả lời, như sau:
PHP:
Sub ChuyenCong()
 Dim Sh As Worksheet, Arr()
 Dim J As Long, Rws As Long, Dg As Integer, Ng As Integer, NCT As Integer

 On Error Resume Next
 Rws = [b10].CurrentRegion.Rows.Count
 Arr() = [A10].Resize(Rws, 6).Value
 Set Sh = ThisWorkbook.Worksheets("BCC")
 NCT = Day(DateSerial(Sh.[a3].Value, Sh.[a4].Value, 0))
 MsgBox NCT
 For Dg = 7 To Sh.[C9999].End(xlUp).Row Step 2
    ReDim dArr(1 To 2, 1 To 31)
    For J = 1 To UBound(Arr())
        If Arr(J, 3) = Sh.Cells(Dg, "C").Value Then
            Ng = Day(Arr(J, 1))
            If Arr(J, 4) > 0 Then
                If Ng > 20 Then
                    dArr(1, Ng - 20) = Arr(J, 4)
                    dArr(2, Ng - 20) = Arr(J, 6)
                Else
                    dArr(1, NCT - 20 + Ng) = Arr(J, 4)
                    dArr(2, NCT + Ng - 20) = Arr(J, 6)
                End If
            End If
        End If
    Next J
    Sh.Cells(Dg, "E").Resize(2, 31).Value = dArr()
    Erase dArr()
 Next Dg
End Sub
Rất vui được tiếp tục trao đổi cùng bạn!
Cảm ơn bạn nhiều, mình đã hiểu mình cần học thêm cái gì rồi. Cảm ơn
 

Thanh10111993

Thành viên mới
Tham gia ngày
22 Tháng năm 2018
Bài viết
4
Được thích
0
Điểm
13
Tuổi
26
Mọi người có thể giúp mình lấy ngày công từ file dữ lieu execl của máy chấm công vào file đuoc không ạ. Bên mình có 4 lần chấm tay luôn ạ
 

File đính kèm

Hoang2013

Thành viên gắn bó
Tham gia ngày
15 Tháng tám 2013
Bài viết
1,625
Được thích
1,598
Điểm
560
Tuổi
6
Vậy bạn sửa dùm câu lệnh
Mã:
dArr(1, Ng) =  Arr(J, 11)
Thành lệnh:
PHP:
dArr(1, Ng) = dArr(1, Ng) + Arr(J, 11) '*'
Mình chưa thực sự chú í lắm, xin lỗi bạn nha!
 

Thanh10111993

Thành viên mới
Tham gia ngày
22 Tháng năm 2018
Bài viết
4
Được thích
0
Điểm
13
Tuổi
26
Vậy bạn sửa dùm câu lệnh
Mã:
dArr(1, Ng) =  Arr(J, 11)
Thành lệnh:
PHP:
dArr(1, Ng) = dArr(1, Ng) + Arr(J, 11) '*'
Mình chưa thực sự chú í lắm, xin lỗi bạn nha!
Cảm ơn bạn nhiều. Mình sửa lệnh được rồi, bạn cho mình hỏi them 1 cái nha, nếu sheet CCM mình có them ng. qua sheet BCC mình insert them tên nhân viên, thì sửa lệnh nào về vùng do không ạ. Mình k rành marco lắm, bạn giúp mình them tí nhé. mình có add thêm nhân viên nhưng lúc chạy marco thì k ra ah
 

Thanh10111993

Thành viên mới
Tham gia ngày
22 Tháng năm 2018
Bài viết
4
Được thích
0
Điểm
13
Tuổi
26
Và bạn có thể giúp mình làm như thế nào để khi qua thang moi co the dung ham nay lai duoc k ah. Minh dở excel lắm, bạn giup dùm mình nha
 

killbill2

Thành viên mới
Tham gia ngày
9 Tháng hai 2014
Bài viết
1
Được thích
0
Điểm
363
Tuổi
35
Ad ơi cho mình hỏi với dữ liệu quẹt thẻ như thế này , thì chấm công trên excel như thế nào ? Mình hay chấm bằng phần mềm nay phải chấm công bằng excel nên hơi bí
 

File đính kèm

truongvu317

Thành viên tiêu biểu
Tham gia ngày
15 Tháng mười một 2010
Bài viết
521
Được thích
375
Điểm
435
Ad ơi cho mình hỏi với dữ liệu quẹt thẻ như thế này , thì chấm công trên excel như thế nào ? Mình hay chấm bằng phần mềm nay phải chấm công bằng excel nên hơi bí
Không có bất cứ một diễn giải về cái file của bạn.
 

hongnhung0490

Thành viên mới
Tham gia ngày
11 Tháng chín 2018
Bài viết
1
Được thích
1
Điểm
15
Tuổi
30
chào các a/c ạ. em k rành ex,em có bảng chấm công như file đính kèm (bảng bấm vân tay =sheet 1), em muốn chấm công như bảng sheet 3.có cach nào chấm công cho nhanh mà chính xác k ạ?giúp em với ạ( em phải xác định đc ngày nào đi trễ,đi trễ mấy phút,ngày nào về sơm,về sớm mấy phút, ngày nào quên bấm vt,..)
 

File đính kèm

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
11,422
Được thích
17,333
Điểm
1,860
Sao ở trang chấm công vân tay có mã NV mà trang còn lại chưa có cột mã NV vậy; Chơi vậy là không được rồi;
Muốn CSDL fục vụ cho mình 1 cách trường tồn thì fải dựa vào mã NV này, không thể dựa vô cột nào khác như [Họ & Tên]; đó sẽ là cột mục ruỗng có ngày!
Bỡi Mã NV là rất quan trọng, như cột sống của loài động vật, nếu không có nó hay nó không đáng tin cậy CSDL của bạn sẽ là chưa tiến hóa & nên bỏ đi;

Mã NV của bạn cũng chưa hoàn chỉnh; Sự chưa này thể hiện ngay ô [B6], Nếu là mã NV xài trong Excel chỉ gồm 2 kí số thì ta nên bắt đầu chí ít từ con số 10 trở đi
(Nếu mã NV là 3 kí số thì nên xài từ con 100 trở đi; Còn vì sao fải vậy bạn tự tìm hiểu lúc rỗi, nha!)

Sau khi bạn sửa lại File, ta mới bàn tiếp chuyện khác được, nhưng nói trước: Nên là VBA!
 

lameco411

Thành viên hoạt động
Tham gia ngày
27 Tháng mười một 2015
Bài viết
162
Được thích
63
Điểm
180
Tuổi
30
Mọi người có ai xử lý được vấn đề máy chấm công ca đêm không ạ? Mình đang rầu vụ này!
 
Top Bottom