Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để chuyển đổi bảng kiểu ma trận thành ba cột trong Excel?

Giả sử bạn có một bảng kiểu ma trận chứa tiêu đề cột và tiêu đề hàng, và bây giờ bạn muốn chuyển đổi bảng kiểu này thành bảng ba cột, nó còn được gọi là bảng danh sách như hình minh họa dưới đây, bạn có cách nào tốt để giải quyết vấn đề này không vấn đề trong Excel?

Chuyển đổi bảng kiểu ma trận thành danh sách với PivotTable

Chuyển đổi bảng kiểu ma trận thành danh sách với mã VBA

Chuyển đổi bảng kiểu ma trận thành danh sách với Kutools cho Excel

doc chuyển ma trận thành danh sách 1


Trong Excel, không có tính năng trực tiếp để chúng tôi chuyển đổi bảng kiểu ma trận thành bảng ba cột, nhưng nếu bạn đã quen với PivotTable, nó có thể giúp bạn. Vui lòng thực hiện theo các bước sau:

1. Kích hoạt trang tính của bạn mà bạn muốn sử dụng, sau đó giữ Alt + D, và sau đó nhấn P trong bàn phím, trong cửa sổ bật ra PivotTable và PivotChart Wizard hộp thoại, chọn Nhiều phạm vi hợp nhất theo Dữ liệu bạn muốn phân tích ở đâu và sau đó chọn PivotTable theo Bạn muốn tạo loại báo cáo nào , xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 2

2. Sau đó nhấn vào Sau nút, trong Bước 2a của 3 wizard, chọn Tôi sẽ tạo các trường trang tùy chọn, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 3

3. Tiếp tục nhấp Sau nút, trong Bước 2b của 3 wizard, click doc chuyển ma trận thành danh sách 5 để chọn phạm vi dữ liệu bạn muốn chuyển đổi, sau đó bấm Thêm để thêm dải dữ liệu vào Tất cả các phạm vi hộp danh sách, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 4

4. và bấm Sau nút, trong Bước 3 của 3 thuật sĩ, chọn một vị trí cho bảng tổng hợp như bạn muốn.

doc chuyển ma trận thành danh sách 6

5. Sau đó nhấn vào Kết thúc , một bảng tổng hợp đã được tạo ngay lập tức, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 7

6. Trong bảng tổng hợp, nhấp đúp vào ô giao nhau của Grand Total, trong trường hợp này, tôi sẽ nhấp đúp vào ô F22 và nó sẽ tạo ra một bảng ba cột như ảnh chụp màn hình sau:

doc chuyển ma trận thành danh sách 8

7. Và cuối cùng, bạn có thể chuyển đổi định dạng bảng thành phạm vi bình thường bằng cách chọn bảng và sau đó chọn Bàn > Chuyển đổi sang Phạm vi từ menu ngữ cảnh, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 9


Nếu bạn không thích phương pháp đầu tiên, mã VBA sau đây cũng có thể giúp bạn.

1. nhấn Alt + F11 để hiển thị Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Trong cửa sổ, nhấp vào Chèn > Mô-đun để hiển thị cửa sổ mô-đun mới, sau đó sao chép và dán mã VBA sau vào cửa sổ mô-đun.

Mã VBA: Chuyển đổi bảng kiểu ma trận thành danh sách

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. Sau đó nhấn F5 để chạy mã này và một hộp nhắc xuất hiện cho phép bạn chọn các nhãn cột của dữ liệu, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 10

4. Và sau đó nhấp vào OK , trong hộp nhắc tiếp theo, chọn nhãn hàng, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 11

5. Tiếp tục nhấp OK, sau đó chọn phạm vi dữ liệu không bao gồm tiêu đề cột và hàng trong hộp nhắc, xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 12

6. Và sau đó nhấp vào OK, trong hộp thoại này, vui lòng chọn một ô mà bạn muốn định vị kết quả. Xem ảnh chụp màn hình:

doc chuyển ma trận thành danh sách 13

7. Cuối cùng, hãy nhấp vào OKvà bạn sẽ nhận được một bảng ba cột cùng một lúc.


Cả hai phương pháp trên đều hơi rắc rối, sau đây, tôi sẽ giới thiệu cho bạn một cách dễ dàng - Kutools cho Excel, Với khả Chuyển đổi kích thước bảng bạn có thể nhanh chóng chuyển đổi ma trận ô và bảng danh sách.

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 thực hiện theo các bước sau:

1. Nhấp chuột Kutools > Phạm vi > Chuyển đổi kích thước bảng, xem ảnh chụp màn hình:

2. Trong Chuyển đổi kích thước bảng hộp thoại:

(1.) Chọn Bảng chéo sang danh sách tùy chọn theo Loại Transpose.

(2.) Và sau đó nhấp vào doc chuyển ma trận thành danh sách 5 nút bên dưới Phạm vi nguồn để chọn phạm vi dữ liệu mà bạn muốn chuyển đổi.

(3.) Sau đó nhấp vào doc chuyển ma trận thành danh sách 5 nút bên dưới Phạm vi kết quả để chọn một ô mà bạn muốn đặt kết quả.

doc chuyển ma trận thành danh sách 15

3. Và sau đó nhấp vào OK và bạn sẽ nhận được kết quả sau bao gồm cả định dạng ô ban đầu:

doc chuyển ma trận thành danh sách 16

Với tiện ích này, bạn cũng chuyển đổi bảng danh sách phẳng sang bảng chéo 2 chiều.

Để biết thêm về tính năng Kích thước Bảng Transpose này.

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 ...
  • Thanh siêu công thức (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ọchữu ích. Cảm ơn !
  • 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ãyhữu ích. Cảm ơn !
  • 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éthữu ích. Cảm ơn !
  • 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à PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 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 đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại 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
Nhận xét (10)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
điều gì sẽ xảy ra nếu tôi có 4 hoặc nhiều cột?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn, đây chính xác là những gì tôi đang tìm kiếm. Tuyệt vời:)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn rất nhiều cho công cụ hữu ích này
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn Tôn, thực sự đánh giá cao cách bạn đã giải thích. rất hữu ích
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
bạn có mã với một tinh chỉnh trong đó cột ngoài cùng bên trái của vùng chọn là nhãn cột và hàng trên cùng của vùng chọn là nhãn hàng không?

Cảm ơn trước,
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sub ConvertTable_UseThis ()

Dim Rng Như Phạm vi
Dim cRng As Range
Dim rRng As Range
Dim xOutRng dưới dạng phạm vi
Dim xRng dưới dạng dãy, cRow dưới dạng số nguyên, cCol dưới dạng số nguyên


xTitleId = "Chuyển đổi Bảng"
Đặt xRng = Application.Selection
Đặt xRng = Application.InputBox ("Vui lòng chọn phạm vi:", "Phạm vi số", Selection.Address,,,,, 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Đặt cRng = Range (xRng.Cells (1, 2), xRng.Cells (1, cCol))
Đặt rRng = Range (xRng.Cells (2, 1), xRng.Cells (cRow, 1))
Đặt Rng = Range (xRng.Cells (2, 2), xRng.Cells (cRow, cCol))
Đặt outRng = Application.InputBox ("Đưa ra (ô đơn):", xTitleId, Loại: = 8)
Đặt xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
Đối với i = Rng.Rows (1) .Row To Rng.Rows (1) .Row + Rng.Rows.Count - 1
Đối với j = Rng.Columns (1) .Column Đến Rng.Columns (1) .Column + Rng.Columns.Count - 1
outRng.Cells (k, 1) = xWs.Cells (i, xColumns)
outRng.Cells (k, 2) = xWs.Cells (xRow, j)
outRng.Cells (k, 3) = xWs.Cells (i, j)
k = k + 1
Tiếp theo j
Tiếp theo
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đối với Mã VBA, người ta có vẻ thực sự cần điều này: xColumns = cRng.Column
xRow = rRng.Row
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sub ConvertTable_UseThis ()

Dim Rng Như Phạm vi
Dim cRng As Range
Dim rRng As Range
Dim xOutRng dưới dạng phạm vi
Dim xRng dưới dạng dãy, cRow dưới dạng số nguyên, cCol dưới dạng số nguyên


xTitleId = "Chuyển đổi Bảng"
Đặt xRng = Application.Selection
Đặt xRng = Application.InputBox ("Vui lòng chọn phạm vi:", "Phạm vi số", Selection.Address,,,,, 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Đặt cRng = Range (xRng.Cells (1, 2), xRng.Cells (1, cCol))
Đặt rRng = Range (xRng.Cells (2, 1), xRng.Cells (cRow, 1))
Đặt Rng = Range (xRng.Cells (2, 2), xRng.Cells (cRow, cCol))
Đặt outRng = Application.InputBox ("Đưa ra (ô đơn):", xTitleId, Loại: = 8)
Đặt xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
Đối với i = Rng.Rows (1) .Row To Rng.Rows (1) .Row + Rng.Rows.Count - 1
Đối với j = Rng.Columns (1) .Column Đến Rng.Columns (1) .Column + Rng.Columns.Count - 1
outRng.Cells (k, 1) = xWs.Cells (i, xColumns)
outRng.Cells (k, 2) = xWs.Cells (xRow, j)
outRng.Cells (k, 3) = xWs.Cells (i, j)
k = k + 1
Tiếp theo j
Tiếp theo
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có ai biết cách làm điều này trong máy Mac không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn vì những lời khuyên. Nó đã tiết kiệm đáng kể thời gian và nỗ lực thủ công của tôi.
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL