Chuyển theo dõi theo cột thành hàng

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

ABCd12345789

Thành viên mới
Tham gia
13/10/19
Bài viết
5
Được thích
0
Chào mọi người, hiện tại em có 1 file hơn 100 cột có fomat giống sheet data, em thấy theo dõi như thế khá là bất tiện nên em đưa về fomat mới như sheet kết quả.
Nhờ mọi người tạo giúp em công thức làm sao ra được sheet kết quả với ạ. Em ngồi làm tay chắc công ty đuổi việc em mất :))).
Em đính kèm file, mọi người xem giúp em với ạ.
Em cảm ơn mọi người !
 

File đính kèm

Chào mọi người, hiện tại em có 1 file hơn 100 cột có fomat giống sheet data, em thấy theo dõi như thế khá là bất tiện nên em đưa về fomat mới như sheet kết quả.
Nhờ mọi người tạo giúp em công thức làm sao ra được sheet kết quả với ạ. Em ngồi làm tay chắc công ty đuổi việc em mất :))).
Em đính kèm file, mọi người xem giúp em với ạ.
Em cảm ơn mọi người !
Bạn dùng power query công cụ unpivot columns
 
Nếu data nhiều thì 1 cách dùng VBA
Alt-F11 mở cửa sổ VBA. Insert/module, dán code này vô.
PHP:
Option Explicit
Sub ketqua()
Dim lr&, lc&, i&, j&, k&, rng, res(1 To 10000, 1 To 3)
With Sheets("DATA")
    lr = .Cells(Rows.Count, "C").End(xlUp).Row
    lc = .Cells(1, Columns.Count).End(xlToLeft).Column
    rng = .Range("C1", .Cells(lr, lc)).Value
End With
For j = 2 To UBound(rng, 2)
    For i = 2 To UBound(rng)
        If Not IsEmpty(rng(i, j)) Then
            k = k + 1
            res(k, 1) = rng(1, j)
            res(k, 2) = rng(i, 1)
            res(k, 3) = rng(i, j)
        End If
    Next
Next
With Sheets("Ketqua")
    .Range("B2:D10000").ClearContents
    .Range("B2").Resize(k, 3).Value = res
End With
End Sub
Nhấn F5 để chạy, hoặc tạo nút nhấn rồi gán code vô như trong file.
Lưu file dạng .xlsm
Tôi đã thay tên sheet Ketqua (không có dấu mới đưa vào code VBA được)
 

File đính kèm

Nếu data nhiều thì 1 cách dùng VBA
Alt-F11 mở cửa sổ VBA. Insert/module, dán code này vô.
PHP:
Option Explicit
Sub ketqua()
Dim lr&, lc&, i&, j&, k&, rng, res(1 To 10000, 1 To 3)
With Sheets("DATA")
    lr = .Cells(Rows.Count, "C").End(xlUp).Row
    lc = .Cells(1, Columns.Count).End(xlToLeft).Column
    rng = .Range("C1", .Cells(lr, lc)).Value
End With
For j = 2 To UBound(rng, 2)
    For i = 2 To UBound(rng)
        If Not IsEmpty(rng(i, j)) Then
            k = k + 1
            res(k, 1) = rng(1, j)
            res(k, 2) = rng(i, 1)
            res(k, 3) = rng(i, j)
        End If
    Next
Next
With Sheets("Ketqua")
    .Range("B2:D10000").ClearContents
    .Range("B2").Resize(k, 3).Value = res
End With
End Sub
Nhấn F5 để chạy, hoặc tạo nút nhấn rồi gán code vô như trong file.
Lưu file dạng .xlsm
Tôi đã thay tên sheet Ketqua (không có dấu mới đưa vào code VBA được)
em cảm ơn ạ, để em thử xem sao.
 
Chào mọi người, hiện tại em có 1 file hơn 100 cột có fomat giống sheet data, em thấy theo dõi như thế khá là bất tiện nên em đưa về fomat mới như sheet kết quả.
Nhờ mọi người tạo giúp em công thức làm sao ra được sheet kết quả với ạ. Em ngồi làm tay chắc công ty đuổi việc em mất :))).
Em đính kèm file, mọi người xem giúp em với ạ.
Em cảm ơn mọi người !
Cách dùng query như @Nhattanktnn nói trên nè em. (Link học: https://www.youtube.com/watch?v=Yyj3Y8WWSvU&feature=youtu.be)
1683532934402.png
1683533055369.png
 

File đính kèm

Web KT

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

Back
Top Bottom