Menu

Hàm TRANSPOSE trong Excel: chuyển hàng thành cột

=TRANSPOSE(A1:D3) chuyển các hàng của A1:D3 thành cột và vẫn liên kết với dữ liệu nguồn. Để sao chép một lần, dùng Paste Special > Transpose. TOCOL xếp cả một lưới ô vào một cột.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Để đổi hàng thành cột trong Excel, gõ =TRANSPOSE(A1:D3) vào ô nơi kết quả bắt đầu: hàng đầu tiên của A1:D3 trở thành cột đầu tiên của kết quả. Kết quả vẫn liên kết với nguồn, nên đổi một số trong nguồn thì bản sao cũng đổi theo. Thử đổi B2 thành 50 và xem B6 thay đổi theo.

Các quý từ hàng ngang thành cột dọc
A5
ABCD
1RepQ1Q2Q3
2Ann10129
3Ben81114
4
5RepAnnBen
6Q1108
7Q21211
8Q3914
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Nguồn có 3 hàng và 4 cột, nên kết quả có 4 hàng và 3 cột. Trong Excel 2021 và Microsoft 365, TRANSPOSE tự tràn kết quả (spill): bạn chỉ gõ vào một ô rồi nhấn Enter.

Cách chuyển hàng thành cột bằng Paste Special

Khi bạn chỉ cần bảng đã đảo một lần, Paste Special nhanh hơn và không để lại công thức nào:

  1. Chọn vùng dữ liệu và sao chép (Ctrl+C, trên Mac là Cmd+C).
  2. Bấm vào ô trên cùng bên trái của nơi đặt kết quả, nằm ngoài vùng đã sao chép.
  3. Trên thẻ Home, bấm mũi tên dưới Paste rồi chọn Transpose, hoặc nhấn Ctrl+Alt+V (trên Mac là Cmd+Ctrl+V), đánh dấu Transpose và bấm OK.

Trên Windows, đường phím tắt sau khi sao chép là Alt, H, V, T. Bản dán giữ nguyên định dạng nhưng không liên kết: khi nguồn thay đổi, bạn phải dán lại. Excel điều chỉnh các công thức trong vùng sao chép theo vị trí mới; hãy kiểm tra những công thức dùng tham chiếu tương đối, hoặc dán dưới dạng giá trị nếu bạn chỉ cần các con số.

Cú pháp TRANSPOSE

=TRANSPOSE(array)

Đối số duy nhất là vùng hoặc mảng cần lật. TRANSPOSE có trong Excel từ lâu, nhưng trước Excel 2021 nó là công thức mảng: chọn trước một vùng đích đúng kích thước (4 hàng x 3 cột cho ví dụ trên), gõ công thức rồi nhấn Ctrl+Shift+Enter (Cmd+Shift+Enter trên Mac). Khi đó Excel hiển thị công thức trong dấu ngoặc nhọn, {=TRANSPOSE(A1:D3)}. Trong Excel 2021 và Microsoft 365 chỉ cần Enter, và nếu có giá trị chắn đường thì bạn nhận lỗi #SPILL!.

Google Sheets cũng có TRANSPOSE và tràn kết quả theo cùng cách.

Chuyển một cột thành một hàng

Cùng hàm này lật một cột đơn thành một hàng, ví dụ một danh sách tên thành tiêu đề cột:

Một cột tên thành một hàng
C2
ABCDEFG
1Name
2AnnAnnBenCaraDanEve
3Ben
4Cara
5Dan
6Eve
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

C2 tràn từ Ann tới Eve trên C2:G2. Thêm một tên vào A7 thì tên đó không được đưa vào, vì công thức đọc A2:A6; hãy mở rộng vùng thành A2:A7 hoặc lớn hơn để lấy cả tên đó.

Vì sao TRANSPOSE hiện 0 ở ô trống

Công thức trỏ tới một ô trống sẽ trả về 0, TRANSPOSE cũng vậy. Bên dưới, tháng 3 không có doanh số, nên phiên bản thông thường hiện 0 ở chỗ nguồn bị trống:

Ô trống thành 0
D4
ABCDE
1MonthJanFebMarApr
2Sales12095150
3
4MonthSalesMonthSales
5Jan120Jan120
6Feb95Feb95
7Mar0Mar
8Apr150Apr150
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

B7 hiện 0 cho Mar. Công thức thứ hai trước tiên dùng IF để đổi mỗi ô trống thành chuỗi rỗng, nên E7 vẫn để trống. Gõ một số vào D2 và cả hai công thức đều hiện số đó.

Chuyển nhiều hàng thành một cột

Để xếp cả một lưới ô vào một cột duy nhất, dùng TOCOL (Microsoft 365 và Excel 2024). Hàm đọc vùng theo từng hàng; TOROW làm tương tự nhưng xếp vào một hàng:

Một lưới ô xếp vào một cột
F2
ABCDEF
1RepQ1Q2Q3All values
2Ann1012910
3Ben8111412
49
58
611
714
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

F2 liệt kê 10, 12, 9 từ hàng của Ann rồi 8, 11, 14 từ hàng của Ben. Để đọc dọc theo từng cột, đặt đối số thứ ba là TRUE: =TOCOL(B2:D3,,TRUE). =TOCOL(B2:D3,1) bỏ qua ô trống.

Luyện tập: các tháng xếp dọc thay vì ngang

Đến lượt bạn
A5
ABCDE
1MonthJanFebMarApr
2Sales1209580150
3
4Months down
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Trong A5, xoay bảng ở A1:E2 sao cho các tháng chạy dọc cột A và doanh số chạy dọc cột B.

TRANSPOSE hay tra cứu theo hàng

Nhiều người lật một bảng ngang chỉ để chạy VLOOKUP trên đó. Việc này không cần thiết: HLOOKUP và XLOOKUP tìm thẳng trên một hàng. =XLOOKUP("Mar",B1:E1,B2:E2) trả về doanh số tháng 3 từ bảng ngang ở trên mà không cần lật gì cả. Chỉ dùng TRANSPOSE khi chính bố cục phải thay đổi, cho biểu đồ, báo cáo hay một hệ thống cần mỗi hàng là một bản ghi.

Câu hỏi thường gặp

Làm sao chuyển hàng thành cột trong Excel?

Sao chép vùng dữ liệu, bấm chuột phải vào ô nơi kết quả bắt đầu rồi chọn Paste Special > Transpose (Ctrl+Alt+V, rồi E và Enter). Cách này dán một bản sao cố định. Để có bản sao cập nhật theo dữ liệu nguồn, gõ =TRANSPOSE(A1:D3) vào ô đích.

Vì sao TRANSPOSE hiện 0 ở ô trống?

Công thức tham chiếu tới một ô trống sẽ trả về 0, và TRANSPOSE cũng không ngoại lệ. Hãy đổi ô trống thành chuỗi rỗng trước: =TRANSPOSE(IF(A1:E2="","",A1:E2)).

Làm sao dùng TRANSPOSE trong Excel 2019 trở về trước?

Chọn một vùng đích có số hàng và số cột hoán đổi cho nhau (4 hàng x 3 cột cho nguồn 3 hàng x 4 cột), gõ =TRANSPOSE(A1:D3) rồi nhấn Ctrl+Shift+Enter (Cmd+Shift+Enter trên Mac). Từ Excel 2021 trở đi chỉ cần nhấn Enter.

Làm sao gộp nhiều hàng thành một cột?

Dùng TOCOL trong Microsoft 365 hoặc Excel 2024: =TOCOL(B2:D3) đọc vùng theo từng hàng và xếp mọi giá trị vào một cột. =TOCOL(B2:D3,1) bỏ qua ô trống, còn TOROW làm tương tự nhưng xếp vào một hàng.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu