[Hỏi] chuyển cột thành dòng theo ID (1 người xem)

Liên hệ QC

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

nhtphong

Thành viên mới
Tham gia
7/9/10
Bài viết
17
Được thích
0
Kính chào anh em,
Em có 1 vấn đề như sau, em muôn chuyển data như 2 hình dưới từ Sheet1 sang Sheet2
Du lieu dc update vào sheet 1 hàng ngày, với cùng format như vây.
Với cùng 1 ID sẽ có 3 Address, em muốn tách thành 3 dòng khác nhau, nếu ko có data thì để trống
Rất mong anh em hướng dẫn thêm.
Em xin cám ơn
Sheet 1:
2017ec9274a1-3594-45a6-b757-a94ea40c77ce.jpg


Sheet 2
2017bec0c29d-7abc-44f7-b787-ca215c020145.jpg
 
Kính chào anh em,
Em có 1 vấn đề như sau, em muôn chuyển data như 2 hình dưới từ Sheet1 sang Sheet2
Du lieu dc update vào sheet 1 hàng ngày, với cùng format như vây.
Với cùng 1 ID sẽ có 3 Address, em muốn tách thành 3 dòng khác nhau, nếu ko có data thì để trống
Rất mong anh em hướng dẫn thêm.
Em xin cám ơn
Sheet 1:
2017ec9274a1-3594-45a6-b757-a94ea40c77ce.jpg


Sheet 2
2017bec0c29d-7abc-44f7-b787-ca215c020145.jpg
Bạn gửi hình ảnh tiếc gì không gửi cái file lên luôn bạn.

Đôi lời cùng bạn.
 
Upvote 0
Kính chào anh em,
Em có 1 vấn đề như sau, em muôn chuyển data như 2 hình dưới từ Sheet1 sang Sheet2
Du lieu dc update vào sheet 1 hàng ngày, với cùng format như vây.
Với cùng 1 ID sẽ có 3 Address, em muốn tách thành 3 dòng khác nhau, nếu ko có data thì để trống
Rất mong anh em hướng dẫn thêm.
Em xin cám ơn
Sheet 1:
2017ec9274a1-3594-45a6-b757-a94ea40c77ce.jpg


Sheet 2
2017bec0c29d-7abc-44f7-b787-ca215c020145.jpg
Bài này dùng Unpivot Table, 30s là xong. Xem video

 
Upvote 0
Theo ngôn ngữ chuyên nghiệp CSDL, chuyển dòng thành cột là Pivot (xếp chung lại theo hàng ngang), và ngược lại chuyển cột thành dòng là Unpivot (tách ra và trải theo hàng dọc).
Cứ dựa theo ý nghĩa này thì giải quyết được rất nhiều vấn đề. Điển hình là giải đáp ở bài #5 trên.
 
Upvote 0
Pivot là căn bản của Excel. Chưa thành thục cách sử dụng và trường hợp sử dụng là chưa biết Excel.
Nói chuyện pivot mà "tìm hiểu sơ sơ qua" là cách làm ăn dối trá.
 
Upvote 0
Pivot là căn bản của Excel. Chưa thành thục cách sử dụng và trường hợp sử dụng là chưa biết Excel.
Nói chuyện pivot mà "tìm hiểu sơ sơ qua" là cách làm ăn dối trá.
Mình ko biết bạn noi vậy là muốn thể hiện gì. Đó là chỉ là 1 cách nói thôi.
Mình chưa biết sử dụng excel thì sao, biết sơ sơ thì sao.
Mình lên đây cũng là muốn học hỏi thêm những gì mình chưa biết vậy có gì ko đúng.

Mình nói luôn, là mình hoàn toàn có thể làm dc từ sheet 1 qua sheet 2 nhưng vấn đề người muốn dùng là sếp cũ của mình. Anh ta ko rành excel, chỉ muốn cái gì thuận tiện nhất, dể dùng nhất. Mình thì ko rành VBA, toàn học trên mạng thôi
 
Upvote 0
Mình ko biết bạn noi vậy là muốn thể hiện gì. Đó là chỉ là 1 cách nói thôi.
Mình chưa biết sử dụng excel thì sao, biết sơ sơ thì sao.
Mình lên đây cũng là muốn học hỏi thêm những gì mình chưa biết vậy có gì ko đúng.

Mình nói luôn, là mình hoàn toàn có thể làm dc từ sheet 1 qua sheet 2 nhưng vấn đề người muốn dùng là sếp cũ của mình. Anh ta ko rành excel, chỉ muốn cái gì thuận tiện nhất, dể dùng nhất. Mình thì ko rành VBA, toàn học trên mạng thôi

Không rành Excel, cũng không rành VBA. Nếu code ra kết quả sai thì lấy gì kiểm chứng?
Cái mà bạn và người sếp cũ của bạn muốn là một quả bom nổ chậm.
 
Upvote 0
Không rành Excel, cũng không rành VBA. Nếu code ra kết quả sai thì lấy gì kiểm chứng?
Cái mà bạn và người sếp cũ của bạn muốn là một quả bom nổ chậm.
Tks bạn đã quan tâm. Hy vọng các anh chị focus vào câu hoi giúp em.
Anh chị nào giúp thì em xin cám ơn, còn những vấn đề khác xin đừng bàn đến làm loãng topic.
 
Lần chỉnh sửa cuối:
Upvote 0
Code của bạn đây
Mã:
Sub Tach()
Dim Arr, Res
Dim i As Long, j As Long, k As Long

With Sheets("Sheet1")
    Arr = .Range("A2:D" & .Range("A65536").End(3).Row)
End With
ReDim Res(1 To UBound(Arr, 1) * 3, 1 To 3)

For i = 2 To UBound(Arr, 1)
    For j = 1 To 3
        k = k + 1
        Res(k, 1) = Arr(i, 1)       'ID
        Res(k, 2) = Arr(1, j + 1)   'Type
        Res(k, 3) = Arr(i, j + 1)   'Add
    Next
Next
Sheets("Sheet2").[A2:C65536].ClearContents
Sheets("Sheet2").[A2].Resize(k, 3) = Res
End Sub
 
Upvote 0
Tks bạn đã quan tâm. Hy vọng các anh chị focus vào câu hoi giúp em.
Anh chị nào giúp thì em xin cám ơn, còn những vấn đề khác xin đừng bàn đến làm loãng topic.
Bạn nên tham khảo nội dung góp ý của người khác để còn biết nhiều điều mới, lạ (mà không có trường, lớp nào dạy).
Đây là một cách khác sử dụng From Table (chẳng cần VBA) còn nhanh hơn Unpivot Table, khi sheet1 thay đổi thì vào sheet 2, và click phải chuột chọn Refresh (kết quả sẽ thay đổi theo).
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn nên tham khảo nội dung góp ý của người khác để còn biết nhiều điều mới, lạ (mà không có trường, lớp nào dạy).
Đây là một cách khác sử dụng From Table (chẳng cần VBA) còn nhanh hơn Unpivot Table, khi sheet1 thay đổi thì vào sheet 2, và click phải chuột chọn Refresh (kết quả sẽ thay đổi theo).
Cám ơn ý kiến của bạn. Mình đâu phủ nhận điều bạn gì trên đó nói sai đâu.
Nhưng mình biết cân nhắc việc này nặng nhẹ ra sao.

Cái file của bác hay quá bác ơi, để em tìm hiểu thử nêu như ko hiểu thì xin phép bác chỉ thêm nha
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom