Trong công việc thường ngày vớidan Excel, việc chuyển đổi dữ liệu giữa hai dạng cột dọc (vertical) và cột ngang (horizontal) là một thao tác rất phổ biến. Dù bạn là người mới bắt đầu hay là chuyên gia, việc biết được cách copy cột dọc sang cột ngang một cách nhanh chóng và chính xác sẽ giúp bạn tiết kiệm thời gian và tránh sai sót. Bài viết này sẽ đưa ra đầy đủ các phương pháp, công thức và mẹo thực tiễn, bao gồm cả cách làm việc với dữ liệu lớn, thao tác phức tạp và cách tự động hoá bằng VBA.
Có thể bạn quan tâm: Cách Chèn Thông Tin Từ File Excel Vào Word
1. Tại sao cần chuyển đổi dữ liệu dọc sang ngang?
- Định dạng báo cáo: Nhiều mẫu báo cáo yêu cầu dữ liệu được sắp xếp theo chiều ngang để dễ đọc và so sánh.
- Phân tích dữ liệu: Khi muốn tính tổng, trung bình hoặc thực hiện thống kê theo hàng, việc sắp xếp dữ liệu theo chiều ngang giúp các hàm như
SUMIF,AVERAGEIFhoạt động hiệu quả hơn. - Chuẩn bị dữ liệu ngoại trừ: Khi xuất dữ liệu sang các phần mềm khác (ví dụ Power BI, Tableau), dữ liệu thường cần được chuyển sang dạng ngang.
- Tối ưu hóa công thức: Một số hàm trong Excel chỉ hoạt động chính xác với dữ liệu dạng ngang (ví dụ
INDEX+MATCHkhi dùng vớiTRANSPOSE).
Có thể bạn quan tâm: Cách Chuyển Chữ Cái Đầu Thành Chữ Hoa Trong Excel
2. Phương pháp truyền thống: Sử dụng tính năng “Transpose” (Chuyển vị)
2.1. Chế độ copy‑paste
- Chọn vùng dữ liệu dọc: Bấm chuột và kéo, hoặc dùng phím
Ctrl+Shift+↓để chọn đến cuối cột. - Copy: Nhấn
Ctrl+Choặc chuột phải →Copy. - Chọn ô đích: Đặt con trỏ vào ô đầu tiên nơi bạn muốn dán dữ liệu theo chiều ngang.
- Paste Special: Chuột phải →
Paste Special…→ chọnTranspose(hoặc nhấnCtrl+Alt+V→E→Enter). - Kết quả: Dữ liệu dọc được chuyển thành hàng ngang ngay lập tức.
Lưu ý: Nếu dữ liệu có sai lệch (Dx), hãy chắc chắn rằng vùng copy không chứa ô trống giữa các dữ liệu, vì điều này sẽ làm mất dữ liệu khi chuyển.
2.2. Dùng biểu thức TRANSPOSE trong công thức
Nếu bạn muốn dữ liệu luôn cập nhật khi thay đổi nguồn, hãy dùng công thức.
- Giả sử dữ liệu dọc nằm trong cột A (A1:A10). Bạn muốn chuyển sang hàng ngang bắt đầu từ ô B1.
- Trong ô B1, nhập công thức:
excel =TRANSPOSE(A1:A10) - Nhấn Ctrl + Shift + Enter (đối với Excel 2026 hoặc cũ) hoặc chỉ cần nhấn
Enternếu dùng Office movers 365 (Excel tự động nhận dạng mảng).
Tip: Khi dùng
TRANSPOSE, hãy chắc chắn rằng ô đích (B1:K1) đủ rộng để chứa toàn bộ dữ liệu. Nếu không, Excel sẽ hiển thị lỗi#SPILL!.
Có thể bạn quan tâm: Cách Chuyển Hàng Ngang Sang Hàng Dọc Trong Excel: Hướng Dẫn Chi Tiết Và Bí Quyết Thực Tế
3. Đối với dữ liệu lớn: Sử dụng Power Query
3.1. Power Query là gì?
Power Query là công cụ trích xuất, biến đổi, và nạp dữ liệu mạnh mẽ trong Excel. Nó hỗ trợ xử lý dữ liệu lớn mà không làm chậm hệ thống.
3.2. Các bước thực hiện
- Chọn cột dữ liệu (ví dụ A1:A1000).
- Vào tab Data → Get & Transform Data → From Table/Range. Nếu chưa là bảng, Excel sẽ yêu cầu tạo bảng.
- Khi Power Query Editor mở ra, chọn cột cần chuyển đổi.
- Trên Ribbon, chọn Transform → Transpose.
- Sau khi chuyển, chọn Close & Load → Close & Load to… → Only Create Connection → OK.
- Vào tab Data → Get Data → From Other Sources → Blank Query → Nhập công thức:
m =Excel.CurrentWorkbook(){Name="Table1"}Content
(đổiTable1thành tên bảng của bạn). - Từ đó,opri.
3.3. Lợi ích
- Tự động cập nhật: Khi dữ liệu nguồn thay đổi, bạn chỉ cần refresh Power Query.
- Xử lý dữ liệu lớn: Không bị gián đoạn khi thao tác trực tiếp trên Excel.
- Gộp dữ liệu: Có thể kết hợp nhiều bảng trước khi chuyển đổi.
4. Tự động hoá bằng VBA
4.1. Tại sao dùng VBA?

Có thể bạn quan tâm: Cách Chỉnh Chữ Hoa Thành Chữ Thường Trong Excel: Hướng Dẫn Chi Tiết Và Các Mẹo Hữu Ích
- Khi cần chuyển đổi nhiều vùng dữ liệu, mã VBA giúp tự động hoá và giảm thiểu sai sót.
- Có thể tích hợp vào macro, tạo nút bấm.
4.2. Mã mẫu
Sub CopyVerticalToHorizontal() Dim srcRange As Range Dim destCell As Range ' Đặt vùng nguồn (cột dọc) Set srcRange = Application.InputBox("Chọn vùng dữ liệu dọc cần chuyển", Type:=8) ' Đặt ô đích Set destCell = Application.InputBox("Chọn ô đích bắt đầu", Type:=8) ' Kiểm tra kích thước Dim n As Long n = srcRange.Rows.Count ' D_FULL: Lặp qua từng ô trong nguồn Dim i As Long For i = 1 To n destCell.Offset(0, i - 1).Value = srcRange.Cells(i, 1).Value Next i
End Sub
- Khi chạy macro, người dùng được nhắc chọn vùng nguồn và ô đích. Macro sẽ tự động sao chép từng giá trị từ cột dọc sang hàng ngang.
4.3. Mã nâng cao: Chuyển đổi với định dạng và công thức
Sub TransposeWithFormulas() Dim src As Range, dest As Range Set src = Selection Set dest = Application.InputBox("Chọn ô đích", Type:=8) ' Định dạng copy src.Copy dest.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False
End Sub
Lưu ý: Khi sao chép công thức, hãy đảm bảo công thức được viết theo dạng tỉ lệ ABSOLUTE hoặc RELATIVE phù hợp.
5. Mẹo nhỏ khi copy cột dọc sang cột ngang
| # | Mẹo | Giải thích |
|---|---|---|
| 1 | Sử dụng “Paste Special” để giữ dữ liệu nguyên | Khi copy dọc, bạn có thể chọn Values only để tránh lỗi khi dán dữ liệu vào cột ngang đã có công thức. |
| 2 | Đặt chuỗi dữ liệu dài | Nếu dữ liệu quá dài, Excel có thể cắt ngắn. Hãy kiểm traNature. |
| 3 | Tối ưu hóa công thức TRANSPOSE | Sử dụng INDEX + COLUMN để tránh lỗi #SPILL!. |
| 4 | Kiểm tra ô trống | Tránh sao chép vùng có ô trống giữa dữ liệu, vì sẽ làm mất hàng trong chuyển đổi. |
| 5 | Chữ ký định dạng | Khi dán, sử dụng Paste Special → Format để giữ màu nền, kiểu chữ. |
| 6 | Sử dụng OFFSET | Khi dán nhiều lần, OFFSET giúp di chuyển ô đích tự động. |
| 7 | Sử dụng Filter | Nếu muốn chuyển chỉ dữ liệu có điều kiện, hãy lọc ra trước. |
| 8 | Chuyển đổi dữ liệu số | Khi dán dọc sang ngang, dữ liệu số vẫn giữ định dạng số; tránh chuyển thành văn bản. |
| 9 | Hợp nhấtեխն | Khi có nhiều cột dọc cần chuyển thành hàng ngang, hãy dùng công thức INDEX + MMULT. |
| 10 | Tự động refresh | Dùng Data → Refresh All để cập nhật khi dùng Power Query. |
6. Trường hợp đặc biệt: Chuyển đổi dữ liệu có nhiều chiều
6.1. Đối với dữ liệu 3 chiều (cột dọc + hàng)
Nếu bạn cần chuyển một bảng 3 chiều sang 2 chiều, hãy dùng công thức INDEX + ROW + COLUMN.
Giả sử dữ liệu nằm trong A1:C5, bạn muốn chuyển thành một mảng ngang dài 15 ô:
=INDEX(A1:C5, 1 + (ROW(A1:A15)-1)\COLUMNS(A1:C5), MOD(ROW(A1:A15)-1, COLUMNS(A1:C5))+1)
Lưu ý: Công thức này cần nhấn
Ctrl + Shift + Enternếu dùng Excel 2026 trở xuống.
6.2. Dùng FLATTEN (Excel 365)
Nếu bạn đang dùng Excel 365, có thể dùng hàm digital:
=FLATTEN(A1:C5)
Hàm này tự động chuyển nhiều hàng và cột thành một chuỗi ngang.
7. Giải quyết lỗi thường gặp
| Lỗi | Nguyên nhân | Khắc phục |
|---|---|---|
#SPILL! | Vùng đích chưa đủ rộng | Mở rộng vùng đích hoặc dùng TRANSPOSE trong công thức |
#N/A | Ô trống trong dữ liệu nguồn | Kiểm tra nguồn, loại bỏ ô trống, hoặc dùng hàm IFERROR |
| Dữ liệu bị mất dấu | Copy có định dạng hoặc công thức | Dùng Paste Special → Values |
| Dữ liệu không cập nhật | Dùng công thức TRANSPOSE nhưng không làm mảng | Kiểm tra tính năng dynamic array, dùng Ctrl + Shift + Enter |
8. Phân tích ví dụ thực tế
8.1. Bảng thực tế
| STT | Họ và tên | Điểm 1 | Điểm 2 | Điểm 3 |
|---|---|---|---|---|
| 1 | Nguyễn Văn A | 8 | 7 | 9 |
| 2 | Trần Thị B | 9 | 8 | 8 |
| 3 | Lê Văn C | 7 | 9 | 7 |
Bạn muốn chuyển bảng này thành dạng ngang, mỗi học sinh là một hàng.
Bước 1: Chọn vùng dữ liệu dọc
Chọn từ A2:E4.
Bước 2: Copy
Ctrl + C.
Bước 3: Dán với Transpose
Chọn ô G1, chuột phải → Paste Special → Transpose.
Kết quả
| G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Nguyễn Văn A | 8 | 7 | 9 | … |
Chú ý: Khi có nhiều học sinh, hãy kéo công thức xuống hoặc copy dọc.
9. Kết luận
Việc copy cột dọc sang cột ngang trong Excel không chỉ là một thao tác cơ bản mà còn là chìa khóa giúp bạn linh hoạt trong phân tích dữ liệu, tạo báo cáo chuyên nghiệp và tối ưu quy trình làm việc. Dưới đây là tóm tắt những phương pháp chính:
- Paste Special → Transpose: Thao tác nhanh, phù hợp cho dữ liệu nhỏ.
- TRANSPOSE function: Dữ liệu động,lyde.
- Power Query: Xử lý dữ liệu lớn, tự động refresh.
- VBA: Tự động hoá, tích hợp macro.
- Mẹo và mẹo nhỏ: Giúp tránh lỗi và tối ưu hiệu suất.
Hãy thử áp dụng những phương pháp này trong công việc hàng ngày của bạn, và bạn sẽ nhanh chóng thấy rõ sự khác biệt trong năng suất và chất lượng dữ liệu. Nếu bạn có những thắc mắc hoặc muốn chia sẻ kinh nghiệm, đừng ngần ngại bình luận bên dưới. Chúc bạn thành công và những ngày làm việc tràn đầy năng lượng!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
