Trình bày lại dữ liệu bảng chấm công từ bảng ngang sang bảng dọc

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

Excel my love_1

Thành viên thường trực
Tham gia
12/11/19
Bài viết
321
Được thích
179
Em có 1 bảng chấm công đang trình bày dạng này
P1.png
giờ em muốn trình bày lại như thế này

p2.png
Mong các anh chị em giúp đỡ. Xin cảm ơn
(Xem file đính kèm)
 

File đính kèm

  • BANG CHAM CONG - VPCT-2023-09-01-2023-09-30.xlsx
    34.4 KB · Đọc: 13
Em có 1 bảng chấm công đang trình bày dạng này
View attachment 295371
giờ em muốn trình bày lại như thế này

View attachment 295372
Mong các anh chị em giúp đỡ. Xin cảm ơn
(Xem file đính kèm)
Thử dùng em này và kiểm tra kỹ kết quả nha!
Mã:
Sub GPE()
    Dim Lr&, Arr(), i&, Res(), k&, Lc%, j&, a%
    With ThisWorkbook.Sheets("Data")
        Lr = .Range("A" & Rows.Count).End(xlUp).Row
        Lc = .Cells(11, Columns.Count).End(xlToLeft).Column + 1
        Arr = .Range(.Cells(11, 1), .Cells(Lr, Lc)).Value
        ReDim Res(1 To UBound(Arr) * (Lc - 5), 1 To 7)
        For i = 2 To UBound(Arr)
            For j = 6 To UBound(Arr, 2) Step 2
                k = k + 1
                For a = 1 To 5
                    Res(k, a) = Arr(i, a)
                Next a
                Res(k, 6) = Arr(1, j)
                Res(k, 7) = Arr(i, j)
                k = k + 1
                For a = 1 To 5
                    Res(k, a) = Arr(i, a)
                Next a
                Res(k, 6) = Arr(1, j)
                Res(k, 7) = Arr(i, j + 1)
            Next j
        Next i
    End With
    If k Then
    With ThisWorkbook.Sheets("KQ")
    .Range("A6:G10000").Clear
    .Range("A6").Resize(k, 7).Value = Res
    End With
    End If
    MsgBox "Done"
End Sub
 

File đính kèm

  • BANG CHAM CONG - VPCT-2023-09-01-2023-09-30.xlsb
    59.8 KB · Đọc: 16
Upvote 0
Em có 1 bảng chấm công đang trình bày dạng này
File dữ liệu gốc của máy chấm công là đã dạng hàng dọc rồi đó bạn. Cái hình trình bày hàng ngang là đã qua phần xử lý báo cáo. Bạn chỉ cần cắm USB, hoặc kết nối mạng truy xuất trực tiếp file gốc là được rồi.
 
Upvote 0
File dữ liệu gốc của máy chấm công là đã dạng hàng dọc rồi đó bạn. Cái hình trình bày hàng ngang là đã qua phần xử lý báo cáo. Bạn chỉ cần cắm USB, hoặc kết nối mạng truy xuất trực tiếp file gốc là được rồi.
Phần trình bày ở sheet kết quả là mình làm thủ công để minh họa kết quả mong muốn bạn ơi!
Mình không được cấp user để truy xuất từ nguồn trên mạng, mình chỉ được nhận lại file excel và xử lý tiếp bạn à
Bài đã được tự động gộp:

Thử dùng em này và kiểm tra kỹ kết quả nha!
Mã:
Sub GPE()
    Dim Lr&, Arr(), i&, Res(), k&, Lc%, j&, a%
    With ThisWorkbook.Sheets("Data")
        Lr = .Range("A" & Rows.Count).End(xlUp).Row
        Lc = .Cells(11, Columns.Count).End(xlToLeft).Column + 1
        Arr = .Range(.Cells(11, 1), .Cells(Lr, Lc)).Value
        ReDim Res(1 To UBound(Arr) * (Lc - 5), 1 To 7)
        For i = 2 To UBound(Arr)
            For j = 6 To UBound(Arr, 2) Step 2
                k = k + 1
                For a = 1 To 5
                    Res(k, a) = Arr(i, a)
                Next a
                Res(k, 6) = Arr(1, j)
                Res(k, 7) = Arr(i, j)
                k = k + 1
                For a = 1 To 5
                    Res(k, a) = Arr(i, a)
                Next a
                Res(k, 6) = Arr(1, j)
                Res(k, 7) = Arr(i, j + 1)
            Next j
        Next i
    End With
    If k Then
    With ThisWorkbook.Sheets("KQ")
    .Range("A6:G10000").Clear
    .Range("A6").Resize(k, 7).Value = Res
    End With
    End If
    MsgBox "Done"
End Sub
mình kiểm tra thấy kết quả đúng rồi, cảm ơn bạn nhiều nhé
 
Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

  • BANG CHAM CONG - VPCT-2023-09-01-2023-09-30.xlsx
    131.7 KB · Đọc: 20
Upvote 0

File đính kèm

  • BangChamCong.rar
    38.5 KB · Đọc: 10
Upvote 0
Hoàn toàn làm được vì Query là 1 phần cơ bản để clean data trước khi visual...
Cảm ơn bạn nhiều. Trong Power BI mình sẽ làm như thế nào để ra được kết quả bạn nhỉ
Mình hỏi vậy là bởi vì sắp tới mình mới được chia sẻ bộ cài đặt 1 bản Power BI trên máy tính. Mình chưa làm Power BI lần nào, nên rất mong bạn chia sẻ chút kinh nghiệm
 
Upvote 0
Trong Power BI mình sẽ làm như thế nào để ra được kết quả bạn nhỉ

Trước khi load vào Power BI, bạn chọn transform để mở Power Query,
Thao tác và công cụ y hệt Query ...
Load vào BI...
Tạo thêm các Table mới (Như: lịch, danh mục ,địa chỉ, khách hàng...) và các measure tính toán ...
Chọn visual... format theo ý mình...
 
Upvote 0
Cảm ơn bạn nhiều. Trong Power BI mình sẽ làm như thế nào để ra được kết quả bạn nhỉ
Mình hỏi vậy là bởi vì sắp tới mình mới được chia sẻ bộ cài đặt 1 bản Power BI trên máy tính. Mình chưa làm Power BI lần nào, nên rất mong bạn chia sẻ chút kinh nghiệm
Hãy đọc từ tài liệu cơ bản của PowerBI, làm các ví dụ cơ bản, thì tự khắc ta có giải pháp và chuẩn bị dữ liệu thế nào. Còn nếu chưa làm các điều đó, thì mọi điều là y mới.
 
Upvote 0
Trước khi load vào Power BI, bạn chọn transform để mở Power Query,
Thao tác và công cụ y hệt Query ...
Load vào BI...
Tạo thêm các Table mới (Như: lịch, danh mục ,địa chỉ, khách hàng...) và các measure tính toán ...
Chọn visual... format theo ý mình...
Mình đã thử vọc vạch thì cách làm trên Power BI có phải là như sau đúng không bạn?:
Import Data from excel , sau đó chọn Transfrom Data/sang Tab Transform/ Chọn vùng từ cột 6 -> cột cuối/ Chọn tiếp Unpivot Columns.
Sau khi Transform trình bày ra được bảng tính như mong muốn, chọn Tab Home/Close & Apply

Mình làm vậy có đúng không bạn?
p1.png
 
Upvote 0
Import Data from excel , sau đó chọn Transfrom Data/sang Tab Transform/ Chọn vùng từ cột 1-> cột 5 , Click fải chọn tiếp Unpivot Other Columns;
Add new column; tên: Ngày; Mcode: = if Text.Contains([Attribute], "Column") then null else [Attribute], OK
Chọn cột Ngày; click fải: fill down
Click fải cột Attribute; remove


Sau khi Transform trình bày ra được bảng tính như mong muốn, chọn Tab Home/Close & Apply
 

File đính kèm

  • Untitled.png
    Untitled.png
    4.8 KB · Đọc: 7
Upvote 0
Web KT
Back
Top Bottom