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

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á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 (0)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
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