Bỏ qua nội dung chính

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ông cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


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!
Comments (15)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Bonjour,

J'ai, dans mon unique colonne de données, des cellules placées aléatoirement toutes les x lignes et qui contiennent une suite de caractères.

Je voudrait que cette cellule soit dans la première colonne de la ligne transposée, avec, dans les colonnes suivantes, la transposition des lignes qui la suivent, jusqu'à la répétition de ma chaine de caractères, qui signifierait le début de la ligne suivante...

Bref, Heeelllp...

Merci d'avance
Stéphane
This comment was minimized by the moderator on the site
You're a genius. Thanks!
Rated 5 out of 5
This comment was minimized by the moderator on the site
I try doing this just as written, and all I get is Error:508
This comment was minimized by the moderator on the site
Hi, How to do this for Colms to rows. Thank you
This comment was minimized by the moderator on the site
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, ...
This comment was minimized by the moderator on the site
Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
worked perfectly
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
This comment was minimized by the moderator on the site
=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
It was very simple and really useful. Thank you so much
This comment was minimized by the moderator on the site
It was great! Thank you! You saved me hours of manual work!
This comment was minimized by the moderator on the site
Thank you so much! It was really helpful. :)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations