Excel chuyển đổi và tổ chức


2

Tôi có một loạt các hàng, mà tôi muốn biến thành một cái bàn.

Có cách nào trong Excel để chuyển đổi một loạt các mục, mỗi mục chiếm bốn hàng thành một bảng, trong đó mỗi hàng trong bốn hàng được đặt vào một trong bốn cột không?

Về cơ bản này:

a
b
c
d

a
b
c
d

đến

 a b c d
 a b c d

Câu trả lời:


4

Tôi không đứng đầu 'đầu tôi biết một cách để làm điều đó cho TẤT CẢ chúng, nhưng bạn có thể dán như thế này ...

  • chọn một bộ abcd
  • sao chép các tế bào
  • chỉnh sửa -> dán đặc biệt
  • [x] nút chuyển đổi ở phía dưới

Điều đó sẽ làm điều đó cho bộ THAT của a / b / c / d. Tôi biết đó không phải là một câu trả lời đầy đủ, nhưng nếu không có quá nhiều trong số này thì điều đó có thể hoạt động.

Đây là một macro nhanh chóng sẽ thực hiện chuyển đổi cho bạn, nếu bạn muốn. Chỉ cần đặt mọi thứ vào cột "A", và nó sẽ đặt tất cả vào B1, C1, D1, v.v ... Hàng được phân định bằng khoảng trắng và hai khoảng trắng trong một hàng có nghĩa là "dừng".

Đã sửa, nên hoạt động ok cho tối đa 255 cột. và vâng, bạn có thể sử dụng cài đặt Transpose trong hàm pastespecial trong vba, nhưng điều đó chỉ làm cho mã phức tạp hơn cho cùng một kết quả, vì vậy tôi giữ nó đơn giản

Sub Macro1()
    lastBlank = False
    col = 2 'B
    row = 1
    For Each cell In Range("A:A")
        v = Trim(CStr(cell))
        If v = "" Then
            If lastBlank = True Then Exit For
            lastBlank = True
            col = 2 'B
            row = row + 1
        Else
            Cells(row, col) = v
            col = col + 1
            lastBlank = False
        End If
    Next
End Sub
  • Công cụ-> Macro-> Trình soạn thảo Visual Basic
  • [menu] Chèn -> Mô-đun
  • Dán macro vào (nên ở trong 'Module1')
  • Chạy (mũi tên xanh). Hoặc ... đóng và các công cụ-> macro-> macro -> [run]

1

Nếu bất cứ ai vẫn đang đọc bài viết trên blog này, đây là một cách khác để làm điều đó (chỉ cần đặt hàng dữ liệu đầu tiên đang sử dụng hằng số FirstRow và sau đó tắt nó đi) ...

Sub TransposeRowsFourAtATime()  
  Dim X As Long, LastRow As Long, OffSetCounter As Long  
  Const FirstRow As Long = 2  
  LastRow = Cells(Rows.Count, "A").End(xlUp).Row  
  For X = FirstRow To LastRow Step 5  
    Cells(FirstRow, "A").Offset(OffSetCounter).Resize(1, 4) = _  
       WorksheetFunction.Transpose(Cells(X, "A").Resize(4))  
  OffSetCounter = OffSetCounter + 1  
  Next  
  Range(Cells(FirstRow + OffSetCounter, "A"), Cells(LastRow, "A")).Clear  
End Sub  

Rick Rothstein (MVP - Excel)


0

Có một chức năng chuyển vị excel . Nhập hàm vào ô nơi bạn muốn chuyển đổi bắt đầu, sau đó sử dụng chức năng chỉnh sửa-> điền để sao chép chức năng sang một bên (và xuống nếu cần).

Cần có một cách để sửa chỉ mục hàng (tính đến khoảng trống) bằng cách sử dụng ADDRESShàm.


0

Bạn có thể nhập các công thức này (giả sử dữ liệu của bạn bắt đầu bằng A1) và điền vào bao xa bạn cần

B1            =IF(ISBLANK(A5),A1,"")
C1            =IF(ISBLANK(A5),A2,"")
D1            =IF(ISBLANK(A5),A3,"")
E1            =IF(ISBLANK(A5),A4,"")

Sau đó Sao chép và Dán các giá trị đặc biệt. Sau đó sắp xếp để loại bỏ các dòng trống.

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.