Cách chuyển đổi cột và hàng trong Excel

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn chỉ ra các cách khác nhau để chuyển hàng thành cột trong Excel: công thức, mã VBA và một công cụ đặc biệt.

Chuyển đổi dữ liệu trong Excel là nhiệm vụ quen thuộc với nhiều người dùng. Thông thường, bạn xây dựng một bảng phức tạp chỉ để nhận ra rằng việc xoay bảng đó là hoàn toàn hợp lý để phân tích hoặc trình bày dữ liệu dưới dạng biểu đồ tốt hơn.

Trong bài viết này, bạn sẽ tìm thấy một số cách để chuyển đổi hàng thành cột (hoặc cột thành hàng), cho dù bạn gọi nó là gì thì đều giống nhau :) Các giải pháp này hoạt động trong tất cả các phiên bản Excel 2010 đến Excel 365, bao gồm nhiều tình huống có thể xảy ra và giải thích hầu hết các lỗi điển hình.

    Chuyển đổi hàng thành cột trong Excel bằng Paste Special

    Giả sử bạn có tập dữ liệu tương tự như những gì bạn nhìn thấy ở phần trên của đồ họa bên dưới. Tên quốc gia được sắp xếp theo cột nhưng danh sách quốc gia quá dài, vì vậy chúng tôi nên đổi cột thành hàng để bảng vừa với màn hình:

    Để chuyển hàng thành cột, hãy thực hiện các bước sau:

    1. Chọn dữ liệu gốc. Để chọn nhanh toàn bộ bảng, tức là tất cả các ô có dữ liệu trong bảng tính, nhấn Ctrl + Home rồi nhấn Ctrl + Shift + End .
    2. Sao chép các ô đã chọn bằng cách nhấp chuột phải vào vùng chọn và chọn Sao chép từ menu ngữ cảnh hoặc bằng cách nhấn Ctrl + C .
    3. Chọn ô đầu tiên của phạm vi đích.

      Đảm bảo chọn một ô màhãy thử công cụ này và hơn 70 công cụ chuyên nghiệp khác dành cho Excel, tôi mời bạn tải xuống phiên bản dùng thử của Ultimate Suite của chúng tôi. Cảm ơn bạn đã đọc và tôi hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!

      nằm ngoài phạm vi chứa dữ liệu gốc của bạn, sao cho vùng sao chép và vùng dán không trùng nhau. Ví dụ: nếu bạn hiện có 4 cột và 10 hàng thì bảng được chuyển đổi sẽ có 10 cột và 4 hàng.
    4. Nhấp chuột phải vào ô đích và chọn Dán Đặc biệt từ menu ngữ cảnh, sau đó chọn Transpose .

    Để biết thêm thông tin, vui lòng xem Cách sử dụng Paste Special trong Excel.

    Lưu ý. Nếu dữ liệu nguồn của bạn chứa các công thức, hãy đảm bảo sử dụng đúng cách các tham chiếu tương đối và tuyệt đối tùy thuộc vào việc chúng có nên được điều chỉnh hay vẫn bị khóa đối với các ô nhất định hay không.

    Như bạn vừa thấy, tính năng Dán Đặc biệt cho phép bạn thực hiện chuyển đổi hàng sang cột (hoặc cột sang hàng) theo đúng nghĩa đen trong vài giây. Phương pháp này cũng sao chép định dạng của dữ liệu gốc của bạn, điều này bổ sung thêm một đối số có lợi cho nó.

    Tuy nhiên, phương pháp này có hai nhược điểm khiến nó không được gọi là giải pháp hoàn hảo để chuyển đổi dữ liệu trong Excel:

    • Nó không phù hợp lắm để xoay các bảng Excel đầy đủ chức năng. Nếu bạn sao chép toàn bộ bảng và sau đó mở hộp thoại Dán đặc biệt , bạn sẽ thấy tùy chọn Chuyển vị trí bị tắt. Trong trường hợp này, trước tiên bạn cần sao chép bảng không có tiêu đề cột hoặc chuyển đổi nó thành một dải ô.
    • Dán Đặc biệt > Chuyển đổi không liên kết bảng mới bànvới dữ liệu gốc, do đó, nó chỉ phù hợp với các chuyển đổi một lần. Bất cứ khi nào dữ liệu nguồn thay đổi, bạn cần lặp lại quy trình và xoay bảng một lần nữa. Không ai muốn lãng phí thời gian vào việc chuyển đổi lặp đi lặp lại cùng một hàng và cột phải không?

    Làm cách nào để chuyển đổi bảng và liên kết bảng đó với dữ liệu gốc

    Hãy xem cách bạn có thể chuyển hàng thành cột bằng kỹ thuật Dán đặc biệt quen thuộc nhưng kết nối bảng kết quả với tập dữ liệu gốc. Điểm hay nhất của phương pháp này là bất cứ khi nào bạn thay đổi dữ liệu trong bảng nguồn, bảng đã lật sẽ phản ánh các thay đổi và cập nhật tương ứng.

    1. Sao chép các hàng bạn muốn chuyển đổi thành cột (hoặc cột được thay đổi thành hàng).
    2. Chọn một ô trống trong cùng một trang tính hoặc một trang tính khác.
    3. Mở hộp thoại Dán Đặc biệt , như được giải thích trong ví dụ trước và nhấp vào Dán Liên kết vào góc dưới bên trái:

    Bạn sẽ có kết quả tương tự như sau:

  • Chọn bảng mới và mở hộp thoại Tìm và Thay thế của Excel (hoặc nhấn Ctrl + H để chuyển ngay đến tab Thay thế ).
  • Thay thế tất cả " =" ký tự có "xxx" hoặc bất kỳ (các) ký tự nào khác không tồn tại ở bất kỳ đâu trong dữ liệu thực của bạn.
  • Điều này sẽ biến bảng của bạn thành một thứ gì đó hơi đáng sợ, như bạn thấy trong ảnh chụp màn hình bên dưới, nhưng đừng hoảng sợ,chỉ cần thêm 2 bước nữa và bạn sẽ đạt được kết quả mong muốn.

  • Sao chép bảng có giá trị "xxx" rồi sử dụng Dán Đặc biệt > Chuyển đổi để lật cột thành hàng
  • Cuối cùng, hãy mở hộp thoại Tìm và Thay thế một lần nữa để đảo ngược thay đổi, tức là thay thế tất cả "xxx" bằng "=" để khôi phục liên kết đến các ô ban đầu.
  • Đây là một giải pháp hơi dài nhưng tinh tế phải không? Hạn chế duy nhất của phương pháp này là định dạng ban đầu bị mất trong quá trình này và bạn sẽ cần khôi phục nó theo cách thủ công (Tôi sẽ chỉ cho bạn một cách nhanh chóng để thực hiện việc này trong phần hướng dẫn này).

    Cách thực hiện để chuyển đổi vị trí trong Excel bằng công thức

    Một cách nhanh hơn để tự động chuyển đổi cột thành hàng trong Excel là sử dụng công thức TRANSPOSE hoặc INDEX/ADDRESS. Giống như ví dụ trước, các công thức này cũng giữ nguyên các kết nối với dữ liệu gốc nhưng hoạt động hơi khác một chút.

    Thay đổi hàng thành cột trong Excel bằng hàm TRANSPOSE

    Như tên gọi của nó, hàm TRANSPOSE được thiết kế đặc biệt để chuyển đổi dữ liệu trong Excel:

    =TRANSPOSE(array)

    Trong ví dụ này, chúng tôi sẽ chuyển đổi một bảng khác liệt kê các tiểu bang của Hoa Kỳ theo dân số:

    1. Đếm số hàng và cột trong bảng ban đầu của bạn và chọn cùng một số ô trống, nhưng theo hướng khác.

      Ví dụ bảng mẫu của chúng ta có 7 cột và 6 hàng, trong đó cótiêu đề. Vì hàm TRANSPOSE sẽ thay đổi cột thành hàng nên chúng tôi chọn phạm vi 6 cột và 7 hàng.

    2. Với các ô trống đã chọn, hãy nhập công thức sau:

      =TRANSPOSE(A1:G6)

    3. Vì công thức của chúng ta cần được áp dụng cho nhiều ô, hãy nhấn Ctrl + Shift + Enter để biến nó thành công thức mảng.

    Vui là, các cột là được thay đổi thành hàng, chính xác như chúng tôi muốn:

    Ưu điểm của chức năng TRANSPOSE:

    Lợi ích chính của việc sử dụng chức năng TRANSPOSE là rằng bảng được xoay vẫn giữ kết nối với bảng nguồn và bất cứ khi nào bạn thay đổi dữ liệu nguồn, bảng được chuyển đổi sẽ thay đổi theo.

    Điểm yếu của chức năng TRANSPOSE:

    • Định dạng bảng gốc không được lưu trong bảng đã chuyển đổi, như bạn thấy trong ảnh chụp màn hình ở trên.
    • Nếu có bất kỳ ô trống nào trong bảng gốc, các ô được chuyển đổi sẽ chứa 0 thay vào đó. Để khắc phục điều này, hãy sử dụng TRANSPOSE kết hợp với hàm IF như được giải thích trong ví dụ này: Cách chuyển cung mà không có số 0.
    • Bạn không thể chỉnh sửa bất kỳ ô nào trong bảng đã xoay vì nó phụ thuộc rất nhiều vào dữ liệu nguồn. Nếu bạn cố gắng thay đổi một số giá trị ô, bạn sẽ nhận được lỗi "Bạn không thể thay đổi một phần của mảng".

    Kết thúc lại, hàm TRANSPOSE dù tốt và dễ sử dụng đến đâu , nó chắc chắn thiếu tính linh hoạt và do đó có thể không phải là tốt nhấtcách thực hiện trong nhiều tình huống.

    Để biết thêm thông tin, vui lòng xem ví dụ về hàm TRANSPOSE trong Excel.

    Chuyển đổi hàng thành cột bằng các hàm INDIRECT và ADDRESS

    Trong ví dụ này, sẽ sử dụng kết hợp hai chức năng, điều này hơi phức tạp một chút. Vì vậy, hãy xoay một bảng nhỏ hơn để có thể tập trung vào công thức tốt hơn.

    Giả sử bạn có dữ liệu trong 4 cột (A - D) và 5 hàng (1 - 5):

    Để chuyển cột thành hàng, hãy làm như sau:

    1. Nhập công thức bên dưới vào ô ngoài cùng bên trái của dải ô đích, chẳng hạn như A7 và nhấn phím Enter :

      =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

    2. Sao chép công thức sang phải và xuống dưới tới nhiều hàng và cột nếu cần bằng cách kéo dấu thập nhỏ màu đen ở góc dưới bên phải của các ô đã chọn:

    Vậy đó! Trong bảng mới tạo của bạn, tất cả các cột được chuyển thành hàng.

    Nếu dữ liệu của bạn bắt đầu ở một số hàng khác 1 và cột khác A, bạn sẽ phải sử dụng công thức phức tạp hơn một chút:

    =INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))

    Trong đó A1 là ô trên cùng bên trái của bảng nguồn. Ngoài ra, xin lưu ý việc sử dụng các tham chiếu ô tuyệt đối và tương đối.

    Tuy nhiên, các ô được chuyển đổi trông rất đơn điệu và buồn tẻ so với dữ liệu gốc:

    Nhưng bạn đừng thất vọng, vấn đề này có thể khắc phục dễ dàng. Để khôi phục định dạng ban đầu, bạn làm như sau:

    • Sao chép bản gốcbảng.
    • Chọn bảng kết quả.
    • Nhấp chuột phải vào bảng kết quả và chọn Tùy chọn dán > Định dạng .

    Ưu điểm : Công thức này cung cấp một cách linh hoạt hơn để chuyển hàng thành cột trong Excel. Nó cho phép thực hiện bất kỳ thay đổi nào trong bảng đã chuyển đổi vì bạn sử dụng công thức thông thường, không phải công thức mảng.

    Khuyết điểm : Tôi chỉ có thể thấy một - định dạng của dữ liệu thứ tự bị mất. Tuy nhiên, bạn có thể nhanh chóng khôi phục nó, như minh họa ở trên.

    Cách thức hoạt động của công thức này

    Bây giờ bạn đã biết cách sử dụng kết hợp GIÁN TIẾP / ĐỊA CHỈ, bạn có thể muốn hiểu rõ hơn về những gì công thức đang thực sự hoạt động.

    Như tên gọi của nó, hàm INDIRECT được sử dụng để tham chiếu gián tiếp một ô. Nhưng sức mạnh thực sự của INDIRECT là nó có thể biến bất kỳ chuỗi nào thành tham chiếu, bao gồm chuỗi mà bạn tạo bằng cách sử dụng các hàm khác và giá trị của các ô khác. Và đây chính xác là những gì chúng ta sẽ làm. Nếu bạn đang theo dõi phần này, bạn sẽ hiểu tất cả phần còn lại một cách dễ dàng :)

    Như bạn còn nhớ, chúng tôi đã sử dụng thêm 3 hàm trong công thức - ĐỊA CHỈ, CỘT và HÀNG.

    Hàm ADDRESS lấy địa chỉ ô theo số hàng và cột bạn chỉ định tương ứng. Hãy nhớ thứ tự: đầu tiên - hàng, thứ hai - cột.

    Trong công thức của chúng tôi, chúng tôi cung cấp các tọa độ theo thứ tự ngược lại và điều nàylà những gì thực sự làm lừa! Nói cách khác, phần này của công thức ADDRESS(COLUMN(A1),ROW(A1)) hoán đổi hàng thành cột, tức là lấy một số cột và đổi thành số hàng, sau đó lấy số hàng và biến nó thành cột số.

    Cuối cùng, hàm INDIRECT xuất dữ liệu đã xoay. Không có gì ghê gớm phải không?

    Chuyển đổi dữ liệu trong Excel bằng cách sử dụng macro VBA

    Để tự động chuyển đổi hàng thành cột trong Excel, bạn có thể sử dụng macro sau:

    Sub TransposeColumnsRows () Dim SourceRange As Range Dim DestRange As Range Đặt SourceRange = Application.InputBox(Prompt:= "Vui lòng chọn phạm vi để chuyển đổi" , Title:= "Chuyển đổi Hàng thành Cột" , Loại :=8) Đặt DestRange = Application.InputBox (Dấu nhắc:= "Chọn ô phía trên bên trái của dải ô đích" , Tiêu đề:= "Chuyển đổi Hàng thành Cột" , Loại :=8) SourceRange.Copy DestRange. Chọn Selection.PasteDán đặc biệt:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Để thêm macro vào trang tính của bạn, hãy làm theo các nguyên tắc được mô tả trong Cách chèn và chạy mã VBA trong Excel.

    Lưu ý. Chuyển đổi với VBA, có giới hạn 65536 phần tử. Trong trường hợp mảng của bạn vượt quá giới hạn này, dữ liệu thừa sẽ bị loại bỏ một cách âm thầm.

    Cách sử dụng macro để chuyển đổi hàng thành cột

    Với macro được chèn vào sổ làm việc của bạn, hãy thực hiện thao tác bên dướicác bước để xoay bảng của bạn:

    1. Mở trang tính mục tiêu, nhấn Alt + F8 , chọn macro TransposeColumnsRows và nhấp vào Chạy .

  • Chọn phạm vi mà bạn muốn chuyển đổi hàng và cột rồi nhấp vào OK :
  • Chọn ô phía trên bên trái của phạm vi đích và nhấp vào OK :
  • Tận hưởng kết quả :)

    Chuyển đổi cột và hàng bằng công cụ Chuyển đổi

    Nếu bạn cần thực hiện chuyển đổi hàng thành cột một cách thường xuyên, bạn thực sự có thể đang tìm kiếm một cách nhanh hơn và đơn giản hơn. May mắn thay, tôi có một cách như vậy trong Excel của mình và những người dùng Ultimate Suite khác của chúng tôi cũng vậy :)

    Hãy để tôi chỉ cho bạn cách chuyển đổi hàng và cột trong Excel theo đúng nghĩa đen chỉ bằng vài cú nhấp chuột:

    1. Chọn một ô bất kỳ trong bảng của bạn, chuyển đến nhóm Ablebits > Transform và nhấp vào nút Transpose .

  • Cài đặt mặc định hoạt động tốt trong hầu hết các trường hợp, vì vậy bạn chỉ cần nhấp vào Chuyển đổi mà không cần thay đổi gì.
  • Nếu bạn muốn Chỉ dán các giá trị hoặc Tạo liên kết đến dữ liệu nguồn để buộc bảng đã xoay tự động cập nhật với mọi thay đổi bạn thực hiện đối với bảng gốc, hãy chọn tùy chọn tương ứng.

    Xong! Bảng được chuyển đổi, định dạng được giữ nguyên, không cần thao tác thêm:

    Nếu bạn tò mò về

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.