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
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.
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.
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.
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).
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ả:
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 phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!