cách tìm ra các ký tự # nhau trong 2 chuỗi ký tự

Liên hệ QC

phuong221093

Thành viên mới
Tham gia
7/12/21
Bài viết
4
Được thích
0
Chào cả nhà ạ,
E có 2 chuỗi ký tự (VD: ABCDEF... và ABCDFF...) Bây giờ e muốn tìm vị trí của những ký tự khác nhau trong 2 chuỗi này thì làm thế nào ạ?
E cảm ơn!!!
 
Lần chỉnh sửa cuối:
Chào cả nhà ạ,
E có 2 chuỗi ký tự (VD: ABCDEF... và ABCDFF...) Bây giờ e muốn tìm vị trí của những ký tự khác nhau trong 2 chuỗi này thì làm thế nào ạ?
E cảm ơn!!!
Hai chuỗi ký tự của bạn cùng 1 ô hay khác ô, số lượng có nhiều không, tốt nhất là bạn đưa file ví dụ lên xem cụ thể thế nào. (Nên viết đầy đủ chữ Em bạn nhé)
 
E với ấp lấp vấp làm sao học ét seo
E với lệ thây kệ khỏi phải biết lập trình

Function KhacBiet(byVal s1 As String, byVal s2 As String) As String
' Hàm so sánh 2 chuỗi s1 và s2 theo vị trí từng ký tự.
' Trả về một chuỗi với 0 ở các vị trí giống và 1 ở vị trí khác
If Len(s1) < Len(s2) Then
KhacBiet = s1
s1 = s2
s2 = KhacBiet
End If
KhacBiet = String(Len(s1), "0")
For i = 1 To Len(s2)
If Mid(s1, i, 1) <> Mid(s2, i, 1) Then Mid(KhacBiet, i, 1) = "1"
Next i
For i = i To Len(s1)
Mid(KhacBiet, i, 1) = "1"
Next i
End Function

1638890000197.png
 
Hoặc thử
Mã:
Function SoSanh(ByVal s1 As String, ByVal s2 As String) As String
Dim i As Long
SoSanh = IIf(Len(s1) > Len(s2), s1, s2)
For i = 1 To Len(SoSanh)
    Mid(SoSanh, i, 1) = IIf(Mid(s1, i, 1) = Mid(s2, i, 1), 0, 1)
Next i
End Function
 
E với ấp lấp vấp làm sao học ét seo
E với lệ thây kệ khỏi phải biết lập trình

Function KhacBiet(byVal s1 As String, byVal s2 As String) As String
' Hàm so sánh 2 chuỗi s1 và s2 theo vị trí từng ký tự.
' Trả về một chuỗi với 0 ở các vị trí giống và 1 ở vị trí khác
If Len(s1) < Len(s2) Then
KhacBiet = s1
s1 = s2
s2 = KhacBiet
End If
KhacBiet = String(Len(s1), "0")
For i = 1 To Len(s2)
If Mid(s1, i, 1) <> Mid(s2, i, 1) Then Mid(KhacBiet, i, 1) = "1"
Next i
For i = i To Len(s1)
Mid(KhacBiet, i, 1) = "1"
Next i
End Function

View attachment 270065
Em cảm ơn chia sẻ của anh nhiều!
Bài đã được tự động gộp:

Hoặc thử
Mã:
Function SoSanh(ByVal s1 As String, ByVal s2 As String) As String
Dim i As Long
SoSanh = IIf(Len(s1) > Len(s2), s1, s2)
For i = 1 To Len(SoSanh)
    Mid(SoSanh, i, 1) = IIf(Mid(s1, i, 1) = Mid(s2, i, 1), 0, 1)
Next i
End Function
Mình cảm ơn bạn nhiều nhé!!
 
Web KT

Bài viết mới nhất

Back
Top Bottom