Lưu ý: Các ngôn ngữ khác của trang web đều do Google dịch. Quay lại tiếng Anh
Đăng nhập  \/ 
x
or
x
Đăng ký  \/ 
x

or

Làm thế nào để chuyển mỗi 5 hoặc n hàng từ một cột thành nhiều cột?

doc hoán vị cứ 5 hàng 1

Giả sử, bạn có dữ liệu dài trong cột A và bây giờ, bạn muốn chuyển mỗi 5 hàng từ cột A thành nhiều cột, chẳng hạn như chuyển A1: A5 thành C6: G6, A6: A10 thành C7: G7, v.v. ảnh chụp màn hình sau được hiển thị. Làm thế nào bạn có thể giải quyết công việc này mà không cần sao chép và dán nhiều lần trong Excel?

Chuyển mỗi 5 hoặc n hàng từ một cột sang nhiều cột với công thức

Chuyển mỗi 5 hoặc n hàng từ một cột sang nhiều cột bằng mã VBA

Chuyển mỗi 5 hoặc n hàng từ một cột sang nhiều cột với Kutools cho Excel


Trong Excel, bạn có thể áp dụng công thức sau để chuyển mỗi n hàng từ một cột thành nhiều cột, vui lòng thực hiện như sau:

1. Nhập công thức sau vào ô trống mà bạn muốn đặt kết quả, chẳng hạn như C1, = INDEX ($ A: $ A, ROW (A1) * 5-5 + COLUMN (A1)), xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 2

chú thích: Trong công thức trên, A: A là tham chiếu cột mà bạn muốn chuyển đổi và A1 là ô đầu tiên của cột được sử dụng, số 5 cho biết số cột mà dữ liệu của bạn sẽ định vị, bạn có thể thay đổi chúng theo nhu cầu của mình. Và ô đầu tiên của danh sách phải nằm ở hàng đầu tiên trong trang tính.

2. Sau đó, kéo chốt điền sang phải năm ô và tiếp tục kéo chốt điền vào phạm vi ô cho đến khi hiển thị 0, xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 3


Chuyển đổi mỗi 5 hoặc n hàng từ một cột thành nhiều cột:

Để chuyển đổi mỗi 5 hoặc n hàng từ một cột thành nhiều cột, Kutools cho Excel's Phạm vi chuyển đổi tiện ích có thể giúp bạn giải quyết công việc này nhanh nhất có thể. Nó cũng có thể giúp bạn chuyển một dải dữ liệu thành một hàng hoặc cột. Nhấp để tải xuống Kutools cho Excel!

doc hoán vị cứ 5 hàng 10

Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!


Nếu bạn không thể áp dụng công thức một cách chính xác, mã VBA sau đây cũng có thể giúp bạn.

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Chuyển mỗi 5 hoặc n hàng từ một cột sang nhiều cột:

Public Sub TransposeData()
'updateby Extendoffice
    Dim xLRow As Long
    Dim xNRow As Long
    Dim i As Long
    Dim xUpdate As Boolean
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select data range(only one column):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count > 1) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range only contain one column", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xLRow = xRg.Rows.Count
    For i = 1 To xLRow Step 5
        xRg.Cells(i).Resize(5).Copy
        xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
        xNRow = xNRow + 1
    Next
    Application.ScreenUpdating = xUpdate
End Sub

3. Sau khi dán mã, vui lòng nhấn F5 để chạy nó và một hộp nhắc sẽ bật ra để nhắc bạn chọn cột mà bạn muốn chuyển, xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 4

4. Sau đó nhấn vào OKvà chọn một ô mà bạn muốn đặt kết quả vào một hộp hiện ra khác, xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 5

5. và bấm OK, dữ liệu trong cột đã được chuyển đổi thành năm cột mà bạn cần, xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 6

chú thích: Trong đoạn mã trên, bạn có thể thay đổi số 5 đến số khác bạn cần.


Nếu bạn có Kutools cho Excel, Với khả Phạm vi chuyển đổi tiện ích, bạn có thể nhanh chóng chuyển đổi một cột hoặc một hàng thành nhiều cột và hàng.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. 

Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau:

1. Chọn dữ liệu trong cột, sau đó bấm Kutools > Phạm vi > Phạm vi chuyển đổi, xem ảnh chụp màn hình:

2. Trong Phạm vi chuyển đổi hộp thoại, chọn Một cột thành dải ô tùy chọn theo Biến đổi kiểu, và sau đó kiểm tra Giá trị cố định theo Hàng trên mỗi bản ghi, sau đó chỉ định số cột mà bạn muốn chuyển sang trong Giá trị cố định hộp, xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 8

3. Và sau đó nhấp vào Ok , trong hộp bật ra, vui lòng chọn một ô để xuất kết quả, xem ảnh chụp màn hình:

doc hoán vị cứ 5 hàng 9

4. Sau đó nhấn vào OK và dữ liệu cột của bạn đã được hoán vị cứ sau 5 hàng như ảnh chụp màn hình sau:

doc hoán vị cứ 5 hàng 6

Tải xuống và dùng thử miễn phí Kutools cho Excel ngay!


Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọc...
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãy...
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xét...
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDF...
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pradeep · 1 years ago
    Hi, How to do this for Colms to rows. Thank you
    • To post as a guest, your comment is unpublished.
      Jan steihn · 11 months ago
      I've rewritten the command to this one:
      =INDEX($A:$A,ROW(A1)+((COLUMN(A1)-2)*5))
      This executes it inverted.
      So:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      ...
      becomes
      1, 6
      2, 7
      3, 8
      4, 9
      5, ...
  • To post as a guest, your comment is unpublished.
    Maha · 1 years ago
    Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
    worked perfectly
  • To post as a guest, your comment is unpublished.
    Arun Balaji VN · 1 years ago
    I tried only the the formula option and it worked great. Till now have been using (Transpose formula with ctrl+shift+enter) but there the disadvantage for we have delete many extra rows. when the rows to be transposed for large in the order of lakhs, then deleting them in excel is either impossible or takes a lot of time.
    this approach made the life easier by only copying the required rows... Thanks
  • To post as a guest, your comment is unpublished.
    Sian · 2 years ago
    This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
  • To post as a guest, your comment is unpublished.
    hamidreza · 3 years ago
    =INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
    It was very simple and really useful. Thank you so much
  • To post as a guest, your comment is unpublished.
    Thank · 3 years ago
    It was great! Thank you! You saved me hours of manual work!
  • To post as a guest, your comment is unpublished.
    xplode · 3 years ago
    Thank you so much!
    It was really helpful. :)
  • To post as a guest, your comment is unpublished.
    MTVN · 4 years ago
    What formula to transpose every 5 rows to a single column?
  • To post as a guest, your comment is unpublished.
    hgimongu · 4 years ago
    Hi!

    May I ask you how to add Blank cell delimits records, instead of 5 as the data I am handling hasn't got fix number of rows. I believe the part which I should change may be around this part of the code:

    For i = 1 To xLRow Step 5
    xRg.Cells(i).Resize(5).Copy
    xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    xNRow = xNRow + 1

    Best
    • To post as a guest, your comment is unpublished.
      Mark.lewis2020 · 11 months ago
      I have the same issue , where the columns are not fixed, and there are empty lines, but I have a same character and end of each data set , that is "=" can I use this as delimiter , that breaks the loop, and next line is considered as new data set ?
    • To post as a guest, your comment is unpublished.
      Mark · 11 months ago
      did you get an answer for the same as i have the same issue , columns are not fixed in numbers, what should I do , can I use a particular character as a delimiter that breaks the loop and count next line and new data set ?