Kết quả 1 đến 9 của 9

Chủ đề: Cách tách dữ liệu trong 1 dòng thành nhiều dòng

  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

  2. #2
    ichiase24h Guest

    Cách tách dữ liệu trong 1 dòng thành nhiều dòng

    Em có 1 file dữ liệu có 1 dòng chưa nhiều dữ liệu cần tách ra mỗi dữ liệu 1 dòng. Bác nào có công thức làm chỉ em với
    Đây là dữ liệu của em
    Ví dụ: với số công bố 34520 thì có 9 mã hàng, giờ em muốn tách ra thành 9 dòng, mỗi dòng là 2 cột gồm 1 cột ghi số công bố 34520 và cột còn lại ghi 1 trong 9 mã hàng trên
    Đa tạ các bác

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi lamhongquanghp
    Em có 1 file dữ liệu có 1 dòng chưa nhiều dữ liệu cần tách ra mỗi dữ liệu 1 dòng. Bác nào có công thức làm chỉ em với
    Đây là dữ liệu của em
    Ví dụ: với số công bố 34520 thì có 9 mã hàng, giờ em muốn tách ra thành 9 dòng, mỗi dòng là 2 cột gồm 1 cột ghi số công bố 34520 và cột còn lại ghi 1 trong 9 mã hàng trên
    Đa tạ các bác
    bài này công thức thì chưa biết có hay không, cho dù có đi chăng nữa thì cũng rất chậm... bài này giải quyết bằng macro thì ok không có vấn đề gì?

  4. #4
    quy263 Guest
    Trích dẫn Gửi bởi lamhongquanghp
    Em có 1 file dữ liệu có 1 dòng chưa nhiều dữ liệu cần tách ra mỗi dữ liệu 1 dòng. Bác nào có công thức làm chỉ em với
    Đây là dữ liệu của em
    Ví dụ: với số công bố 34520 thì có 9 mã hàng, giờ em muốn tách ra thành 9 dòng, mỗi dòng là 2 cột gồm 1 cột ghi số công bố 34520 và cột còn lại ghi 1 trong 9 mã hàng trên
    Đa tạ các bác
    Bạn xem file nhé.

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi phihndhsp
    bài này công thức thì chưa biết có hay không, cho dù có đi chăng nữa thì cũng rất chậm... bài này giải quyết bằng macro thì ok không có vấn đề gì?
    Bác có thể giải quyết bằng Macro ra 1 sheet bên cạnh giúp em ko?
    Bác có hướng giải quyết bằng hàm không hướng cho em bước đi cơ bản để em tự nghiên cứu hàm cũng được ạ

  6. #6
    rinkatori Guest
    Trích dẫn Gửi bởi huuthang_bd
    Bạn xem file nhé.
    Đa tạ bác rất nhiều
    Em cũng đang nghiên cứu cách dùng các hàm trong bài này http://www.giaiphapexcel.com/forum/s...%B2ng%21/page2 vì cũng tương tự như bài em
    Cảm ơn bác rất nhiều

  7. #7
    dudung94 Guest
    Trích dẫn Gửi bởi lamhongquanghp
    Em có 1 file dữ liệu có 1 dòng chưa nhiều dữ liệu cần tách ra mỗi dữ liệu 1 dòng. Bác nào có công thức làm chỉ em với
    Đây là dữ liệu của em
    Ví dụ: với số công bố 34520 thì có 9 mã hàng, giờ em muốn tách ra thành 9 dòng, mỗi dòng là 2 cột gồm 1 cột ghi số công bố 34520 và cột còn lại ghi 1 trong 9 mã hàng trên
    Đa tạ các bác
    Bạn tham khảo:

    Mã nguồn PHP:
    Sub abc() Dim x, dArr(), Sp Dim i As Long, j As Long, k As Long, n As Long Application.ScreenUpdating = False With Range("A4").CurrentRegion x = .Value ReDim dArr(1 To UBound(x) * 5, 1 To UBound(x, 2)) For i = 1 To UBound(x) Sp = Split(x(i, 3), ",") For j = 0 To UBound(Sp) If Len(Sp(j)) Then k = k + 1 For n = 1 To UBound(x, 2) - 1 dArr(k, n) = x(i, n) Next n dArr(k, n) = Sp(j) End If Next j Next i .Resize(k).Value = dArr() End With Columns.AutoFit Application.ScreenUpdating = TrueEnd Sub  

  8. #8
    Thanhhuong16 Guest
    Trích dẫn Gửi bởi HieuCD
    dùng công thức khác để tách dữ liệu
    Dùng COUNTIF() nhìn thì gọn nhưng dữ liệu nhiều thì sẽ chậm.

  9. #9
    thanhlamthi Guest
    Trích dẫn Gửi bởi lamhongquanghp
    Em có 1 file dữ liệu có 1 dòng chưa nhiều dữ liệu cần tách ra mỗi dữ liệu 1 dòng. Bác nào có công thức làm chỉ em với
    Đây là dữ liệu của em
    Ví dụ: với số công bố 34520 thì có 9 mã hàng, giờ em muốn tách ra thành 9 dòng, mỗi dòng là 2 cột gồm 1 cột ghi số công bố 34520 và cột còn lại ghi 1 trong 9 mã hàng trên
    Đa tạ các bác
    Code:
    Sub Transpose_range()
    Dim SoDong As Long
    Dim Arr As Variant
    SoDong = Sheet1.Range("B5").End(xlDown).Row
    Sheet2.Range("B2").Resize(, SoDong - 3) = WorksheetFunction.Transpose(Sheet1.Range("B5:B" & SoDong))
    For i = 5 To SoDong
    If Sheet1.Cells(i, "C").Value Like "*,*" Then
    Arr = Split(Sheet1.Cells(i, "C"), ", ")
    Sheet2.Cells(3, i - 3).Resize(UBound(Arr) + 1, 1) = WorksheetFunction.Transpose(Arr)
    Else
    Sheet2.Cells(3, i - 3) = Sheet1.Cells(i, "C")
    End If
    Next
    End Sub

    File đính kèm.

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •