Hỏi về cách lấy số liệu từ bảng chấm công sang bảng tính lương (1 người xem)

Người dùng đang xem chủ đề này

soingaytho

Thành viên mới
Tham gia
14/6/14
Bài viết
34
Được thích
4
Xin chào!
Em có bảng chấm công chia ra làm ca ngày và ca đêm, em lấy số liệu từ bảng chấm công sang bảng tính lương (số giờ tăng ca đêm, số ngày làm đêm, số ngày nghỉ, số ngày làm chủ nhật...)mà em chưa biết phải làm như thế nào.
Em có gửi file đính kèm mong mọi người giúp đỡ. Em cảm ơn nhiều hiiiiiiii}}}}}}}}}}}}}}}}}}}}
 

File đính kèm

Bạn kiểm theo file với các số khác nhau xem sao

,,,,,,, ,,,,,,, ,,,,,,,
 

File đính kèm

Em đã xem file anh gửi nhưng mà vẫn không hiểu làm thế nào để ra được kết quả như vậy tại em không thấy có công thức !$@!!, Mong anh chỉ dẫn giúp em, em xin cảm ơn nhiều hì hì %#^#$
 
Cái đó xài 1 macro cho ra kết quả hàng loạt

[Thongbao]Em đã xem file anh gửi nhưng mà vẫn không hiểu làm thế nào để ra được kết quả như vậy tại em không thấy có công thức , Mong anh chỉ dẫn giúp em, em xin cảm ơn nhiều hì hì[/Thongbao]

Còn nếu muốn xài công thức thì mình vừa làm cho bạn 1 hàm mảng người dùng

Có khi tiện hơn cho bạn không biết chừng, nhưng nhớ bấm tổ hợp fím cho hàm mảng nha
 

File đính kèm

Trước tiên em xin cảm ơn anh/chị, nhưng mà em xem công thức của anh/chị thì em vẫn không hiểu phải làm thế nào mới ra được công thức như vậy, anh/chị có thể chỉ giúp em không a? em xin cảm ơn
 
Bạn thực hiện các bước sau đây:

B1: Trên trang tính 'Luong', bạn lấy chuột tô chọn vùng 'F6:O6', & ngó lên thanh công thức sẽ thấy 1 công thức mảng:
{=LuongCN(ChuyenCongTH.xls!MaNV,Luong!B6)}

& ta đi tìm 2 thành tố của công thức này

Từ dễ đến khó, ta thấy ngay thành tố sau là mã nhân viên của người ta cần khảo sát (để tổng hợp)
Thành tố trước liên quan đến trang 'CCong'; Vậy nên ta sang bên đó;
(Ở E2003) ta vô menu Edit dùng lệnh Gôt để đến vùng được gán tên là 'MaNV'

Vùng này chứa hầu hết dữ liệu có trong cột

B2: Ta xem nội dung hàm tự tạo (Xem sơ chứ không cần hiểu nó làm gì)

PHP:
Option Explicit
Function LuongCN(Ma As Range, MaNV As String)
 Dim sRng As Range, Rg0 As Range, Cls As Range

 ReDim Arr(1 To 1, 1 To 10)
 Set sRng = Ma.Find(MaNV, , xlFormulas, xlWhole)
 If sRng Is Nothing Then
    LuongCN = "No":                            Exit Function
 Else
    Arr(1, 1) = sRng.Offset(, 3).Value                                  'Ca '
    Set Rg0 = sRng.Offset(, 6).Resize(, 31)
    For Each Cls In Rg0
        If Cls.Value = "HL" Then Arr(1, 2) = 1 + Arr(1, 2)              '70%'
        If Cls.Value = "L" Then Arr(1, 3) = 1 + Arr(1, 3)               'LeN'
        If Cls.Offset(2).Value = "L" Then Arr(1, 4) = Arr(1, 4) + 1     'LeD'
        If Cls.Value = "CN" Then Arr(1, 5) = 1 + Arr(1, 5)              'CNN'
        If Cls.Offset(2).Value = "CN" Then Arr(1, 6) = Arr(1, 6) + 1    'CND'
        If IsNumeric(Cls.Value) Then Arr(1, 7) = Arr(1, 7) + Cls.Value  'CgN'
                    
        If IsNumeric(Cls.Offset(2).Value) Then _
                Arr(1, 8) = Cls.Offset(2).Value + Arr(1, 8)             'CgD'
        If IsNumeric(Cls.Offset(1).Value) Then _
                Arr(1, 9) = Arr(1, 9) + Cls.Offset(1).Value             'TgN'
        If IsNumeric(Cls.Offset(3).Value) Then _
                Arr(1, 10) = Arr(1, 10) + Cls.Offset(3).Value           'TgD'
    Next Cls
 End If
 LuongCN = Arr()
End Function

Chỉ biết rằng đây là hàm mảng tự tạo (Kết thúc hàm bằng tổ hợp 3 fím qui định cho hàm mảng thông thường)
Hàm cần cung cấp 2 tham trị,
1 là vùng được gán tên nêu trên
& 2 là mã của 1 nhân vật nào đó ta cần trưng ra kết quả.

B3: Cách xài hàm:
Ban đầu ta chọn vùng cần hiển thị kết quả hàm, đó là 'F6:O6'
Sau đó nhập cú fáp hàm (không có 2 dấu ngoặt kép)
Kết thúc bằng tổ hợp các fím

Giờ tiếp theo thì ta có thể copy xuống các dòng dưới như công thức bình thường. (. . . Nếu gặp trỡ ngại thì Excel sẽ thông báo & hỗ trợ; Còn vẫn chưa được thì lại viết bài lên diễn đàn)
 

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

Back
Top Bottom