Bỏ qua nội dung chính

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


mũi tên màu xanh bong bóng bên phải 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:

doc nối các đơn nguyên 1

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.


mũi tên màu xanh bong bóng bên phải 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ấtKết hợp tiện ích để đạt được kết quả bạn cần.

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 làm như sau :( Tải xuống miễn phí Kutools cho Excel ngay! )

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.

doc nối các đơn nguyên 3

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:

doc nối các đơn nguyên 4

5. Chọn các ô duy nhất đã dán, sau đó bấm Kutools > Hợp nhất & TáchKế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:

doc nối các đơn nguyên 6

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:

doc nối các đơn nguyên 7

Tải xuống miễn phí Kutools cho Excel ngay!


mũi tên màu xanh bong bóng bên phải 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?

doc nối các đơn nguyên 8

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:

doc nối các đơn nguyên 9

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.


mũi tên màu xanh bong bóng bên phải 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.

Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau :( Tải xuống miễn phí Kutools cho Excel ngay! )

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:

doc nối các đơn nguyên 11

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:

doc nối các đơn nguyên 12

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:

doc nối các đơn nguyên 13

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

Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

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 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!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Excellent article!
I have a question.
How would delete blanks from start and end to avoid duplicates(caused by spaces) in function ConcatUniq?
Thank you very much!
This comment was minimized by the moderator on the site
I was successfully using the VBA function but something has gone wrong with it - I am only having a #VALUE! error returned now in places where it was working previously. I have combed my data for errors and tried removing and re-creating the VBA module, and renaming the function, nothing seems to be working. Any help would be appreciated, thanks!
This comment was minimized by the moderator on the site
Thank you! Great and simple function works perfect for me! https://www.extendoffice.com/documents/excel/3418-excel-concatenate-unique-values.html#a1
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations