Bỏ qua nội dung chính

Làm cách nào để so sánh các giá trị được phân tách bằng dấu phẩy trong hai ô và trả về các giá trị trùng lặp hoặc duy nhất trong Excel?

Như được hiển thị trong ảnh chụp màn hình bên dưới, có hai cột - Cột1 và Cột2, mỗi ô trong cột chứa các số được phân tách bằng dấu phẩy. Để so sánh các số được phân tách bằng dấu phẩy trong Cột 1 với nội dung ô trong cùng một hàng của Cột 2 và trả về tất cả các giá trị trùng lặp hoặc duy nhất, bạn có thể làm gì?

Hướng dẫn này cung cấp hai phương pháp để giúp bạn hoàn thành nhiệm vụ này.


So sánh các giá trị được phân tách bằng dấu phẩy trong hai ô và trả về các giá trị trùng lặp hoặc duy nhất bằng công thức

Phần này cung cấp hai công thức để giúp so sánh các giá trị được phân tách bằng dấu phẩy trong hai ô và trả về các giá trị trùng lặp hoặc duy nhất giữa chúng.

Chú thích: Các công thức sau chỉ hoạt động trong Excel cho 365. Nếu bạn đang sử dụng các phiên bản Excel khác, hãy thử sử dụng phương pháp VBA dưới đây.

Lấy hai cột trên làm ví dụ, để so sánh các số được phân tách bằng dấu phẩy trong Cột 1 với các số được phân tách bằng dấu phẩy trong cùng một hàng của Cột 2 và trả về các giá trị trùng lặp hoặc duy nhất, vui lòng thực hiện như sau.

Trả về giá trị trùng lặp

1. Chọn một ô để xuất các số trùng nhau giữa hai ô đã chỉ định với các số được phân tách bằng dấu phẩy, trong trường hợp này, tôi chọn ô D2, sau đó nhập công thức bên dưới và nhấn phím đăng ký hạng mục thi Chìa khóa. Chọn ô công thức và kéo nó Xử lý tự động điền xuống để lấy các số trùng lặp giữa các ô trong các hàng khác.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))

Trả về các giá trị duy nhất

Để trả về các số duy nhất giữa hai ô được chỉ định với các số được phân tách bằng dấu phẩy trong cùng một hàng, công thức sau có thể hữu ích.

1. Chọn một ô để xuất ra các số duy nhất, trong trường hợp này, tôi chọn ô E2, sau đó nhập công thức bên dưới và nhấn phím đăng ký hạng mục thi Chìa khóa. Chọn ô công thức và kéo nó Xử lý tự động điền xuống để lấy các số duy nhất giữa các ô trong các hàng khác.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

Chú ý:

1) Hai công thức trên chỉ có thể được áp dụng trong Excel cho 365. Nếu bạn đang sử dụng phiên bản Excel khác với Excel cho 365, vui lòng thử phương pháp VBA sau.
2) Các ô cần so sánh phải liền kề nhau trong cùng một hàng hoặc cùng cột.

So sánh hai cột với các giá trị được phân tách bằng dấu phẩy và trả về các giá trị trùng lặp hoặc duy nhất bằng VBA

Hàm do người dùng xác định được cung cấp trong phần này giúp so sánh các giá trị được phân tách bằng dấu phẩy trong hai ô được chỉ định và trả về các giá trị trùng lặp hoặc giá trị duy nhất giữa chúng. Hãy làm như sau.

Lấy ví dụ tương tự như trên, để so sánh các số được phân tách bằng dấu phẩy trong Cột 1 với các số được phân tách bằng dấu phẩy trong cùng một hàng của Cột 2 và trả về các giá trị trùng lặp hoặc duy nhất, vui lòng thử hàm do người dùng xác định trong phần này.

1. Trong sổ làm việc đang mở, nhấn nút Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đunvà sao chép mã VBA sau vào Mô-đun (Mã) cửa sổ.

Mã VBA: So sánh các giá trị được phân tách bằng dấu phẩy trong hai ô và trả về các giá trị trùng lặp/duy nhất

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3. Sau khi dán mã vào Mô-đun (Mã) cửa sổ, hãy nhấp vào CÔNG CỤ > dự án để mở Tài liệu tham khảo - VBAProject cửa sổ, kiểm tra Thời gian chạy tập lệnh của Microsoft hộp và sau đó nhấp vào OK .

4. Nhấn nút Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

5. Bây giờ, bạn cần áp dụng hai hàm riêng biệt để trả về các giá trị trùng lặp và duy nhất từ ​​hai ô giá trị được phân tách bằng dấu phẩy.

Trả về giá trị trùng lặp

Chọn một ô để xuất ra các số trùng lặp, trong ví dụ này tôi chọn ô D2, sau đó nhập công thức bên dưới và nhấn phím đăng ký hạng mục thi phím để lấy các số trùng lặp giữa ô A2 và B2.

Chọn ô công thức và kéo Bộ điều khiển Tự động Điền của nó xuống để lấy các số trùng lặp giữa các ô trong các hàng khác.

=COMPARE(A2,B2,TRUE)

Trả về các giá trị duy nhất

Chọn một ô để xuất ra các số duy nhất, trong ví dụ này, tôi chọn ô E2, sau đó nhập công thức bên dưới và nhấn phím đăng ký hạng mục thi để lấy các số duy nhất giữa ô A2 và B2.

Chọn ô công thức và kéo Bộ điều khiển Tự động Điền của nó xuống để lấy các số duy nhất giữa các ô trong các hàng khác.

=COMPARE(A2,B2,FALSE)

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
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...

Mô 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!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations