Nói chung, VẬN CHUYỂN thường có thể được sử dụng để chuyển đổi hàng thành cột. Tuy nhiên, kết quả tùy thuộc vào tiêu chí nhất định, chẳng hạn như giá trị duy nhất, sẽ không được trả lại. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách chuyển các hàng thành cột dựa trên tiêu chí trong Excel.
2 Cách tiếp cận Tiện dụng để Chuyển đổi Hàng thành Cột Dựa trên Tiêu chí trong Excel
Chúng tôi đã bao gồm tập dữ liệu của một số sản phẩm và số lượng của chúng trong hình bên dưới. Các hàng sau đó sẽ được chuyển thành các cột. Chúng tôi sẽ chuyển các hàng thành cột dựa trên tiêu chí của các giá trị duy nhất vì có một số mục nhập trùng lặp trong một ô riêng biệt. Đầu tiên, chúng tôi sẽ sử dụng INDEX , TRẬN ĐẤU , COUNTIF , NẾU và IFERROR các hàm tạo công thức. Chúng tôi cũng sẽ thực thi VBA mã để hoàn thành điều tương tự.
1. Áp dụng công thức với các hàm INDEX, MATCH và COUNTIF để chuyển hàng thành cột dựa trên tiêu chí trong Excel
Lúc đầu, chúng tôi sẽ áp dụng các công thức của INDEX , TRẬN ĐẤU , COUNTIF , NẾU và IFERROR các hàm với mảng.
Bước 1:Chèn các hàm INDEX, MATCH và COUNTIF
- Trong ô E5 , hãy nhập công thức sau để nhận các sản phẩm độc đáo.
=INDEX($B$5:$B$12, MATCH(0, COUNTIF($E$4:$E4, $B$5:$B$12), 0))
Bước 2:Áp dụng mảng
- Để áp dụng công thức với một mảng, hãy nhấn Ctrl + Shift + Nhập
- Do đó, bạn sẽ nhận được kết quả duy nhất đầu tiên.
Bước 3:Tự động điền ô
- Để nhận tất cả các giá trị duy nhất, hãy sử dụng Tự động điền Công cụ Handle để tự động điền vào cột.
Bước 4:Nhập Hàm IFERROR
- Để chuyển giá trị hàng của đại lượng thành cột, hãy viết công thức sau.
=IFERROR(INDEX($C$5:$C$12, MATCH(0, COUNTIF($E5:E5, $C$5:$C$12) + IF($B$5:$B$12<>$E5,1,0),0)),0)
Bước 5:Áp dụng mảng
- Để Chèn một mảng, nhấn Ctrl + Shift + Nhập .
- Do đó, ô F5 sẽ hiển thị giá trị chuyển đổi đầu tiên như trong hình ảnh bên dưới.
- Kéo xuống bằng Công cụ xử lý tự động điền để tự động điền vào cột.
- Cuối cùng, tự động điền các hàng bằng Công cụ xử lý tự động điền .
- Do đó, tất cả các hàng được hoán vị sẽ biến đổi thành các cột như trong hình ảnh bên dưới.
Đọc thêm:Chuyển đổi nhiều hàng trong nhóm thành cột trong Excel
Bài đọc tương tự
- Cách chuyển đổi các hàng trùng lặp thành các cột trong Excel (4 cách)
- VBA trong Excel:Chuyển đổi Nhiều Hàng trong Nhóm thành Cột
- Chuyển đổi Nhiều Cột thành Một Cột trong Excel (3 Phương pháp Tiện dụng)
- Cách Đảo ngược Chuyển đổi trong Excel (3 Phương pháp Đơn giản)
2. Chạy mã VBA để chuyển hàng thành cột dựa trên tiêu chí trong Excel
Bước 1:Tạo mô-đun
- Trước tiên, nhấn Alt + F11 để bắt đầu VBA Macro .
- Nhấp vào Chèn .
- Để tạo Mô-đun , chọn Mô-đun tùy chọn.
Bước 2:Nhập mã VBA
- Dán VBA sau
Sub TransposeRows()
'Define Variables
Dim RowsNumber As Long
Dim p As Long
Dim xColCr As String
Dim xColumn As New Collection
Dim InputRng As Range
Dim OutputRng As Range
Dim RngText As String
Dim CountRow As Long
Dim xRowRg As Range
On Error Resume Next
'Set values and Input Box fot Input Range
RngText = ActiveWindow.RangeSelection.Address
Set InputRng = Application.InputBox("Select Your Input Range for 2 columns:", "ExcelDemy", RngText, , , , , 8)
Set InputRng = Application.Intersect(InputRng, InputRng.Worksheet.UsedRange)
'Apply Condition to count only 2 columns and to show msg box for alerting to select only two columns
If InputRng Is Nothing Then Exit Sub
If (InputRng.Columns.Count <> 2) Or _
(InputRng.Areas.Count > 1) Then
MsgBox "The specified range is only area for 2 columns ", , "ExcelDemy"
Exit Sub
End If
'Set values and Input Box fot Input Range
Set OutputRng = Application.InputBox("Select Your Output Range (one cell):", "ExcelDemy", RngText, , , , , 8)
If OutputRng Is Nothing Then Exit Sub
Set OutputRng = OutputRng.Range(1)
'Count Rows
RowsNumber = InputRng.Rows.Count
'Apply For loop
For p = 2 To RowsNumber
xColumn.Add InputRng.Cells(p, 1).Value, InputRng.Cells(p, 1).Value
Next
Application.ScreenUpdating = False
For p = 1 To xColumn.Count
xColCr = xColumn.Item(p)
OutputRng.Offset(p, 0) = xColCr
InputRng.AutoFilter Field:=1, Criteria1:=xColCr
Set xRowRg = InputRng.Range("B2:B" & RowsNumber).SpecialCells(xlCellTypeVisible)
If xRowRg.Count > CountRow Then CountRow = xRowRg.Count
'Copy and paste with transpose
InputRng.Range("B2:B" & RowsNumber).SpecialCells(xlCellTypeVisible).Copy
OutputRng.Offset(p, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Next
OutputRng = InputRng.Cells(1, 1)
OutputRng.Offset(0, 1).Resize(1, CountRow) = InputRng.Cells(1, 2)
InputRng.Rows(1).Copy
OutputRng.Resize(1, CountRow + 1).PasteSpecial Paste:=xlPasteFormats
InputRng.AutoFilter
Application.ScreenUpdating = True
End Sub
Bước 3:Chạy chương trình
- Đầu tiên, lưu và nhấn F5 để chạy chương trình.
- Chọn tập dữ liệu của bạn với tiêu đề.
- Nhấp vào OK .
- Chọn một ô để nhận đầu ra
- Sau đó, nhấp vào OK .
- Do đó, bạn sẽ nhận được kết quả được chuyển đổi các hàng thành cột, như thể hiện trong hình ảnh bên dưới.
Đọc thêm:Cách chuyển hàng thành cột bằng Excel VBA (4 ví dụ lý tưởng)
Kết luận
Tôi hy vọng bài viết này đã cung cấp cho bạn hướng dẫn về cách chuyển các hàng thành cột dựa trên tiêu chí trong Excel . Tất cả các quy trình này nên được học và áp dụng cho tập dữ liệu của bạn. Hãy xem sách bài tập thực hành và đưa những kỹ năng này vào bài kiểm tra. Chúng tôi có động lực để tiếp tục tạo các hướng dẫn như thế này vì sự hỗ trợ quý giá của bạn.
Nếu bạn có bất kỳ câu hỏi nào - Hãy hỏi chúng tôi. Ngoài ra, đừng ngại để lại ý kiến trong phần bên dưới.
Chúng tôi, Exceldemy Đội ngũ, luôn phản hồi các thắc mắc của bạn.
Ở lại với chúng tôi và tiếp tục học hỏi.
Các bài viết có liên quan
- Chuyển đổi Cột thành Hàng trong Excel bằng Power Query
- Cách chuyển đổi cột thành hàng trong Excel dựa trên giá trị ô
- VBA để chuyển đổi nhiều cột thành hàng trong Excel (2 phương pháp)
- Cách chuyển đổi cột thành danh sách được phân tách bằng dấu phẩy với dấu ngoặc kép
- Phím tắt Transpose Paste trong Excel:4 cách dễ sử dụng
- Chuyển đổi công thức Excel mà không cần thay đổi tham chiếu (4 cách dễ dàng)
- Cách chuyển đổi vị trí trong Excel VBA (3 phương pháp)