Làm thế nào để so sánh 2 chuỗi ký tự và chỉ ra sự khác nhau

Liên hệ QC

xinbintin

Thành viên mới
Tham gia
12/12/17
Bài viết
18
Được thích
3
Hi mọi người nhờ mọi người giúp em về hàm hay công thức VBA so sánh 2 chuỗi ký tự và chỉ ra ký tự khác nhau giữa chuỗi đó.
Ví dụ em có text1 : aabbcc . So sánh với text 2: aaggbb như vậy kết quả em cần là công thức chỉ ra ký tự khác nhau ở đây là gg
 

File đính kèm

  • SO SÁNH CHUỖI.xlsx
    8 KB · Đọc: 23
Hi mọi người nhờ mọi người giúp em về hàm hay công thức VBA so sánh 2 chuỗi ký tự và chỉ ra ký tự khác nhau giữa chuỗi đó.
Ví dụ em có text1 : aabbcc . So sánh với text 2: aaggbb như vậy kết quả em cần là công thức chỉ ra ký tự khác nhau ở đây là gg
Công thức áp dụng 2 chuỗi bằng nhau và chỉ khác 1 kí tự:.
Mã:
=IFERROR(MID(E3,AGGREGATE(14,6,ROW(INDIRECT("1:"&LEN(E3)))/NOT(MID(D3,ROW(INDIRECT("1:"&LEN(D3))),1)=MID(E3,ROW(INDIRECT("1:"&LEN(E3))),1)),1),1),"")
 
Áp dụng bằng VBA:

C1 = CompareString(A1, B1)

Không phân biệt hoa thường:
C1 = CompareString(A1, B1, True)
-----------
PHP:
Private Sub test_CompareString()
  Debug.Print CompareString("Abb", "Abb")
End Sub
Function CompareString(ByVal TextA As String, ByVal TextB As String, Optional ByVal CompareCase As Boolean = False) As String
  Static RE As Object
  If RE Is Nothing Then Set RE = CreateObject("VBScript.RegExp")
  With RE
    .Global = True
    .IgnoreCase = CompareCase
    .Pattern = "([\\\?\+\*\[\]\$\^\=\-\{\}\(\)\:\.\|])"
    TextA = .Replace(TextA, "\$1")
    .Pattern = "[" & TextA & "]"
    CompareString = .Replace(TextB, "")
  End With
End Function
 
Web KT
Back
Top Bottom