So sánh 1 ký tự trong 1 chuỗi với 1 chuỗi khác

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tranthanh2200

Thành viên hoạt động
Tham gia
12/1/18
Bài viết
150
Được thích
32
Donate (Momo)
Donate
Giới tính
Nam
Em có 2 cột chuỗi ký tự như trong file. Em muốn so sánh 1 trong số các đặc điểm ở bảng 2 đối chiếu với bảng 1 và đánh giá. Xin cảm ơn a
 

File đính kèm

Ngan, vịt, gà bò,... có phải là dữ liệu thật không?
Nếu không phải thì Dữ liệu thật của bạn nó thế nào?
Dữ liệu gốc 10000 dòng thì bạn post lên khoảng vài chục dòng nhé xem sao
 
Ngan, vịt, gà bò,... có phải là dữ liệu thật không?
Nếu không phải thì Dữ liệu thật của bạn nó thế nào?
Dữ liệu gốc 10000 dòng thì bạn post lên khoảng vài chục dòng nhé xem sao
Dữ liệu của mình nó cấu trúc kiểu như file đó bạn a.
 
Post thêm vài chục dòng đi bạn
 
Ngan, vịt, gà bò,... có phải là dữ liệu thật không?
Nếu không phải thì Dữ liệu thật của bạn nó thế nào?
Dữ liệu gốc 10000 dòng thì bạn post lên khoảng vài chục dòng nhé xem sao
Dữ liệu gốc đây a. Bạn xem hộ mình với. Thanks
 

File đính kèm

Dùng thử UDF
Mã:
Public Function KiemTraThuoc(ByVal mabenh_do As String, ByVal mabenh_goc As String) As Boolean
Dim v As Variant
KiemTraThuoc = False
For Each v In Split(mabenh_do, ";")
    If InStr(1, mabenh_goc, Left(v, 3)) > 0 Then
        KiemTraThuoc = True
        Exit For
    End If
Next v
End Function
Tại H3, nhập công thức:

=KiemTraThuoc(A3,VLOOKUP(C3,Data!$B:$C,2,0))
 
Dùng thử UDF
Mã:
Public Function KiemTraThuoc(ByVal mabenh_do As String, ByVal mabenh_goc As String) As Boolean
Dim v As Variant
KiemTraThuoc = False
For Each v In Split(mabenh_do, ";")
    If InStr(1, mabenh_goc, Left(v, 3)) > 0 Then
        KiemTraThuoc = True
        Exit For
    End If
Next v
End Function
Tại H3, nhập công thức:

=KiemTraThuoc(A3,VLOOKUP(C3,Data!$B:$C,2,0))
Cho em hỏi thêm với bác. Như hình lại ra TRUE. Đúng ra phải là False. Thanks bác
 

File đính kèm

  • Capture.PNG
    Capture.PNG
    5 KB · Đọc: 11
Cho em hỏi thêm với bác. Như hình lại ra TRUE. Đúng ra phải là False. Thanks bác
.
Bạn sửa lại code theo bài số 10 (so sánh toàn bộ).

PHP:
Public Function KiemTraThuoc(ByVal mabenh_do As String, ByVal mabenh_goc As String) As Boolean
'So sánh toàn bộ
Dim v As Variant
KiemTraThuoc = False
For Each v In Split(mabenh_do, ";")
    If InStr(1, mabenh_goc, v ) > 0 Then
        KiemTraThuoc = True
        Exit For
    End If
Next v
End Function

.
 
.
Bạn sửa lại code theo bài số 10 (so sánh toàn bộ).

PHP:
Public Function KiemTraThuoc(ByVal mabenh_do As String, ByVal mabenh_goc As String) As Boolean
'So sánh toàn bộ
Dim v As Variant
KiemTraThuoc = False
For Each v In Split(mabenh_do, ";")
    If InStr(1, mabenh_goc, v ) > 0 Then
        KiemTraThuoc = True
        Exit For
    End If
Next v
End Function

.
Bác a. Em copy UDF này nhưng vẫn bị lỗi bác a
Bài đã được tự động gộp:

File test đây bác
 

File đính kèm

  • Capture.PNG
    Capture.PNG
    6.2 KB · Đọc: 3
  • FIle....xlsm
    FIle....xlsm
    15.3 KB · Đọc: 5
Bác a. Em copy UDF này nhưng vẫn bị lỗi bác a
Bạn dùng thử hàm này:

PHP:
Public Function KiemTraThuoc(ByVal mabenh_do As String, ByVal mabenh_goc As String) As Boolean
'V2. Cap nhat 25/8/2023
Dim v As Variant
KiemTraThuoc = False
mabenh_goc = ";" & mabenh_goc & ";"
For Each v In Split(mabenh_do, ";")
    If InStr(1, mabenh_goc, ";" & v & ";") > 0 Then
        KiemTraThuoc = True
        Exit For
    End If
Next v
End Function
 

File đính kèm

Bạn dùng thử hàm này:

PHP:
Public Function KiemTraThuoc(ByVal mabenh_do As String, ByVal mabenh_goc As String) As Boolean
'V2. Cap nhat 25/8/2023
Dim v As Variant
KiemTraThuoc = False
mabenh_goc = ";" & mabenh_goc & ";"
For Each v In Split(mabenh_do, ";")
    If InStr(1, mabenh_goc, ";" & v & ";") > 0 Then
        KiemTraThuoc = True
        Exit For
    End If
Next v
End Function
Bói thử 1 quẻ thấy còn vài bài nữa :p
 
Chia sẻ cho ai nếu gặp trường hợp tương tự bằng cách dùng hàm. Nhờ 1 bác trong diễn đàn hỗ trợ
 

File đính kèm

Web KT

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

Back
Top Bottom