Làm cách nào để nối các giá trị duy nhất trong Excel?
Nếu tôi có một danh sách dài các giá trị chứa một số dữ liệu trùng lặp, thì bây giờ, tôi chỉ muốn tìm các giá trị duy nhất và sau đó nối chúng thành một ô. Làm cách nào để giải quyết vấn đề này một cách nhanh chóng và dễ dàng trong Excel?
Tìm các giá trị duy nhất trong một cột và nối chúng vào một ô bằng mã VBA
Tìm các giá trị duy nhất trong một cột và nối chúng vào một ô với Kutools cho Excel
Liệt kê các giá trị duy nhất và nối các giá trị tương ứng với mã VBA
Liệt kê các giá trị duy nhất và nối các giá trị tương ứng với Kutools cho Excel
Tìm các giá trị duy nhất trong một cột và nối chúng vào một ô bằng mã VBA
Sau đây Chức năng do người dùng xác định có thể giúp bạn chỉ nối các giá trị duy nhất vào một ô duy nhất từ danh sách, vui lòng thực hiện như sau:
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Nối các giá trị duy nhất vào một ô duy nhất:
Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice
Dim xCell As Range
Dim xDic As Object
Set xDic = CreateObject("Scripting.Dictionary")
For Each xCell In xRg
xDic(xCell.Value) = Empty
Next
ConcatUniq = Join$(xDic.Keys, xChar)
Set xDic = Nothing
End Function
3. Sau đó, quay lại trang tính của bạn và nhập công thức này: = ConcatUniq (A1: A17, ",") vào một ô trống nơi bạn muốn xuất kết quả được nối và nhấn đăng ký hạng mục thi để lấy kết quả nối duy nhất, xem ảnh chụp màn hình:
Chú thích: Trong công thức trên, A1: A17 là phạm vi ô mà bạn muốn nối và dấu phẩy “,”Là dấu phân cách bạn cần để tách các giá trị kết hợp, bạn có thể thay đổi chúng theo nhu cầu của mình.
Tìm các giá trị duy nhất trong một cột và nối chúng vào một ô với Kutools cho Excel
Nếu bạn không quen với mã VBA, Kutools cho Excel cũng có thể giúp bạn, bạn có thể kết hợp Chọn các ô trùng lặp & duy nhất và Kết hợp tiện ích để đạt được kết quả bạn cần.
Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau:
1. Chọn danh sách các ô mà bạn chỉ muốn kết hợp các giá trị duy nhất.
2. Nhấp chuột Kutools > Chọn > Chọn các ô trùng lặp & duy nhất, xem ảnh chụp màn hình:
3. Trong Chọn các ô trùng lặp & duy nhất hộp thoại, chọn Tất cả duy nhất (Bao gồm cả bản sao 1 lần) tùy chọn theo Quy tắc , xem ảnh chụp màn hình:
Lời khuyên: Nếu bạn muốn kết hợp các giá trị duy nhất loại trừ các giá trị trùng lặp xuất hiện đầu tiên, hãy kiểm tra Chỉ giá trị duy nhất tùy chọn.
4. Sau đó nhấn vào OK và chỉ các giá trị duy nhất đã được chọn, sau đó nhấn Ctrl + C để sao chép chúng và dán chúng vào một vị trí cụ thể bằng cách nhấn Ctrl + V, xem ảnh chụp màn hình:
5. Chọn các ô duy nhất đã dán, sau đó bấm Kutools > Hợp nhất & Tách > Kết hợp các hàng, cột hoặc ô mà không làm mất dữ liệu, xem ảnh chụp màn hình:
6. Trong Kết hợp các cột hoặc hàng hộp thoại, chọn Kết hợp thành một ô theo Để kết hợp các ô đã chọn theo các tùy chọn sauvà sau đó chỉ định dấu phân tách cho dữ liệu kết hợp của bạn, xem ảnh chụp màn hình:
7. Sau đó nhấn vào Ok or Đăng Nhập , các giá trị duy nhất được trích xuất đã được nối vào một ô duy nhất như ảnh chụp màn hình sau:
Tải xuống miễn phí Kutools cho Excel ngay!
Liệt kê các giá trị duy nhất và nối các giá trị tương ứng với mã VBA
Trong một trường hợp khác, bạn có một dải dữ liệu bao gồm hai cột và bây giờ, bạn chỉ muốn liệt kê các giá trị duy nhất và nối các giá trị tương ứng của chúng với một cột khác để nhận được kết quả sau, bạn có cách nào tốt để hoàn thành công việc này không trong Excel?
Tại đây, bạn có thể áp dụng mã VBA sau để giải quyết công việc này, vui lòng thực hiện như sau:
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Liệt kê các giá trị duy nhất và nối dữ liệu tương ứng
Sub test()
'updateby Extendoffice
Dim xRg As Range
Dim xArr As Variant
Dim xCell As Range
Dim xTxt As String
Dim I As Long
Dim xDic As Object
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "Does not support multiple selections", , "Kutools for Excel"
Exit Sub
End If
If xRg.Columns.Count <> 2 Then
MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
Exit Sub
End If
xArr = xRg
Set xDic = CreateObject("Scripting.Dictionary")
xDic.CompareMode = 1
For I = 1 To UBound(xArr)
If Not xDic.Exists(xArr(I, 1)) Then
xDic.Item(xArr(I, 1)) = xDic.Count + 1
xArr(xDic.Count, 1) = xArr(I, 1)
xArr(xDic.Count, 2) = xArr(I, 2)
Else
xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
End If
Next
Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub
3. Sau đó nhấn F5 để chạy mã này và một hộp nhắc xuất hiện để nhắc bạn chọn dải dữ liệu mà bạn muốn ghép dựa trên các giá trị duy nhất, xem ảnh chụp màn hình:
4. Nhấp chuột OK, các giá trị duy nhất đã được trích xuất và các giá trị tương ứng của chúng trong một cột khác đã được nối với nhau thành một trang tính mới.
Chú thích: Trong đoạn mã trên, bạn có thể thay đổi dấu phẩy đỏ xArr (xDic.Item (xArr (I, 1)), 2) = xArr (xDic.Item (xArr (I, 1)), 2) & ","& xArr (I, 2) trong tập lệnh này với bất kỳ dấu phân cách nào khác mà bạn muốn tách dữ liệu kết hợp.
Liệt kê các giá trị duy nhất và nối các giá trị tương ứng với Kutools cho Excel
Nếu bạn có Kutools cho Excel, Với khả Các hàng kết hợp nâng cao , bạn có thể giải quyết vấn đề này một cách nhanh chóng và dễ dàng mà không cần bất kỳ mã nào.
1. Trước tiên, bạn nên tạo một bản sao dữ liệu gốc của mình nếu bạn muốn giữ lại dữ liệu gốc. Và sau đó chọn phạm vi dữ liệu mà bạn muốn nối dựa trên các giá trị duy nhất.
2. Sau đó nhấn vào Kutools > Hợp nhất & Tách > Các hàng kết hợp nâng cao, xem ảnh chụp màn hình:
3. Trong Các hàng kết hợp nâng cao hộp thoại, bấm vào tên cột mà bạn muốn chỉ liệt kê các giá trị duy nhất và bấm Khóa chính, xem ảnh chụp màn hình:
4. Sau đó bấm vào tên cột khác mà bạn muốn nối và bấm Kết hợpvà chọn một dấu phân tách để tách dữ liệu kết hợp của bạn, xem ảnh chụp màn hình:
5. Và sau đó nhấp vào Ok , các giá trị đã được nối dựa trên các giá trị duy nhất của một cột khác như ảnh chụp màn hình sau:
Tải xuống miễn phí Kutools cho Excel ngay!
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
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!