Tôi cần trợ giúp chuyển đổi dữ liệu tất cả trong một hàng thành nhiều hàng


1

Tôi có một bảng excel dữ liệu như thế này;

[EXCEL] (http://i.imgur.com/mnvXLSQ.jpg)

Tôi muốn bcột được chuyển đổi thành 3 cột mới, vì vậy có hai dòng like URL1, Name, address, emailURL3, Name, address, email.

Câu trả lời:


2

Với dữ liệu trong cột AB , trong C1, nhập:

=OFFSET($A$1,3*(ROWS($1:1)-1),0)

và sao chép xuống và trong D1 nhập:

=OFFSET($B$1,COLUMNS($A:A)-1+(ROW()-1)*3,0)

và sao chép cả hai bên và xuống:

nhập mô tả hình ảnh ở đây


2

Mở Visual Basic (Nhấn Alt + F11 )
Chèn Mô-đun và dán mã sau vào Mô-đun đó

Sub Macro()
Dim i As Integer, j As Integer, k As Integer, LastRow As Integer
LastRow = Sheets(1).Range("A1").End(xlDown).Row
Sheets(2).Cells(1, 1).Value = Sheets(1).Cells(1, 1).Value
Sheets(2).Cells(1, 2).Value = Sheets(1).Cells(1, 2).Value
k = 1
j = 2
For i = 1 To LastRow
    If Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & (i + 1)).Value Then
        j = j + 1
        Sheets(2).Cells(k, j).Value = Sheets(1).Cells(i + 1, 2).Value
    Else
        k = k + 1
        Sheets(2).Cells(k, 1).Value = Sheets(1).Cells(i + 1, 1).Value
        Sheets(2).Cells(k, 2).Value = Sheets(1).Cells(i + 1, 2).Value
        j = 2
        End If
Next i
End Sub

Mã này kiểm tra sự giống nhau giữa các ô trong cột đầu tiên, nếu nội dung ô khớp với giá trị trong ô bên cạnh nó sẽ được sao chép sang một trang tính khác. Nếu nội dung ô trong cột đầu tiên không khớp thì nó sẽ được coi là điểm dữ liệu tiếp theo.

Nhập vào tờ đầu tiên
nhập mô tả hình ảnh ở đây

Đầu ra trong tờ thứ hai
nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.