Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel

Nội dung được viết bởi Như Quỳnh Văn Vũ

Trong bài viết trước, Gitiho đã hướng dẫn bạn cách tô màu làm nổi bật các dữ liệu số giống và khác nhau (highlight) trong Excel.  Trong bài viết dưới đây, chúng ta cùng tìm hiểu thêm cách so sánh 2 chuỗi dữ liệu dạng text có khớp nhau hay không trong Excel. Sau đó, đánh dấu các điểm tương đồng hoặc khác biệt trong chuỗi text đó. Hãy bắt đâu ngay nào

So khớp chuỗi dữ liệu bằng công thức

Giả sử, nếu bạn chỉ muốn biết các chuỗi được so sánh có khớp nhau hay không, bạn có thể áp dụng công thức sau.

Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel

1. Chọn ô trống C2, bạn hãy nhập công thức =EXACT(A2, B2) vào Thanh công thức, sau đó nhấn phím Enter.

Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel

Lưu ý:

- Trong công thức trên, A2 & B2 là ô chứa các chuỗi dữ liệu cần so sánh.

- Hàm EXACT là hàm giúp phân biệt giá trị bên trong 2 ô có khớp nhau hay không. Hàm này có phân biệt cả chữ viết hoa và viết thường, phân biệt các hệ font chữ khác nhau.

Tham khảo: Thủ thuật kiểm tra sai lệch dữ liệu trong bảng dữ liệu lớn của Excel

2. Tiếp theo, bạn hãy chọn ô kết quả, sau đó kéo Fill Handle đến các ô cho đến khi nhận được tất cả các kết quả so sánh.

Nếu kết quả FALSE có nghĩa là các chuỗi dữ liệu khác nhau. Còn nếu kết quả TRUE có nghĩa là hai chuỗi khớp nhau.

Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel

So khớp chuỗi dữ liệu bằng VBA

Bước 1: Đầu tiên, bạn cần nhấn tổ hợp phím ALT + F11 để mở trình soạn code VBA.

Tham khảo: VBA là gì, cách mở cửa sổ VBA trong Excel

Bước 2: Trong cửa sổ VBA, bạn click chọn tab Insert => Module => copy và paste mã VBA dưới đây vào trình soạn code:

Sub highlight()
    Dim xRg1 As Range
    Dim xRg2 As Range
    Dim xTxt As String
    Dim xCell1 As Range
    Dim xCell2 As Range
    Dim I As Long
    Dim J As Integer
    Dim xLen As Integer
    Dim xDiffs As Boolean
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
lOne:
    Set xRg1 = Application.InputBox("Range A:", "Gitiho.com", xTxt, , , , , 8)
    If xRg1 Is Nothing Then Exit Sub
    If xRg1.Columns.Count > 1 Or xRg1.Areas.Count > 1 Then
        MsgBox "Multiple ranges or columns have been selected ", vbInformation, "Gitiho.com"
        GoTo lOne
    End If
lTwo:
    Set xRg2 = Application.InputBox("Range B:", "Gitiho.com", "", , , , , 8)
    If xRg2 Is Nothing Then Exit Sub
    If xRg2.Columns.Count > 1 Or xRg2.Areas.Count > 1 Then
        MsgBox "Multiple ranges or columns have been selected ", vbInformation, "Gitiho.com"
        GoTo lTwo
    End If
    If xRg1.CountLarge <> xRg2.CountLarge Then
       MsgBox "Two selected ranges must have the same numbers of cells ", vbInformation, "Gitiho.com"
       GoTo lTwo
    End If
    xDiffs = (MsgBox("Click Yes to highlight similarities, click No to highlight differences ", vbYesNo + vbQuestion, "Gitiho.com") = vbNo)
    Application.ScreenUpdating = False
    xRg2.Font.ColorIndex = xlAutomatic
    For I = 1 To xRg1.Count
        Set xCell1 = xRg1.Cells(I)
        Set xCell2 = xRg2.Cells(I)
        If xCell1.Value2 = xCell2.Value2 Then
            If Not xDiffs Then xCell2.Font.Color = vbRed
        Else
            xLen = Len(xCell1.Value2)
            For J = 1 To xLen
                If Not xCell1.Characters(J, 1).Text = xCell2.Characters(J, 1).Text Then Exit For
            Next J
            If Not xDiffs Then
                If J <= Len(xCell2.Value2) And J > 1 Then
                    xCell2.Characters(1, J - 1).Font.Color = vbRed
                End If
            Else
                If J <= Len(xCell2.Value2) Then
                    xCell2.Characters(J, Len(xCell2.Value2) - J + 1).Font.Color = vbRed
                End If
            End If
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Bước 3: Nhấn F5 để chạy mã => Trong pop-up Gitiho.com, chọn dữ liệu cột thứ nhất (Range A)=> chọn OK. Tương tự, đối với cột thứ hai cũng thế (Range B).

Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel

Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel
 

Bước 4: Nếu bạn muốn highlight các phần giống nhau, click chọn YES. Ngược lại, click chọn NO nếu bạn muốn đánh dấu các phần khác nhau trong chuỗi dữ liệu.

Và đây là kết quả:

  • So khớp phần giống trong chuỗi dữ liệu
     
Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel
  • So khớp phần khác trong chuỗi dữ liệu
     
Hướng dẫn cách kiểm tra dữ liệu trong hai ô có khớp hay không trong Excel

 

Trên đây là những hướng dẫn về cách so khớp 2 chuỗi dữ liệu dạng text trong Excel. Nếu thấy bài viết hay và hữu ích, các bạn hãy chia sẻ với bạn bè của mình nhé. Chúc các bạn thành công!

CÓ THỂ BẠN CŨNG QUAN TÂM:

KHÓA HỌC EXCEL ONLINE HOÀN TOÀN MIỄN PHÍ

Khóa học với hơn 14000 HỌC VIÊN đang học và đánh giá trung bình 4.76 SAO

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông