Bạn thử dùng công thức nàyMong các bác giúp đỡ.. e có file Excel như đính kèm. E muốn so sánh các giá trị cột A với cácchuỗi giá trị Cột B để tìm ra giá trị giống nhau và có thông báo. Nhưng các giá trị cột B lại cách nhau bởi các dấu phẩy.Liệu có cách nào ko các bác nhỉ?
=IF(SUM(IFERROR(SEARCH(A2,$B$2:$B$7),0)),"Trùng","Khác")
Của bác chỉ so sánh ngang dòng đc thôi chứ ko so sánh đc so với cả cộtBạn thử dùng công thức này
Mã:=IF(SUM(IFERROR(SEARCH(A2,$B$2:$B$7),0)),"Trùng","Khác")
Trùng bác ạ. Vi nó trùng với A dòng dướiCái dòng đầu tiên thì thế nào? Trùng hay Khác?
View attachment 267070
Do cách diễn đạt của bạn nên không ai hiểu dẫn đến làm sai.Của bác chỉ so sánh ngang dòng đc thôi chứ ko so sánh đc so với cả cột
Bài đã được tự động gộp:
Trùng bác ạ. Vi nó trùng với A dòng dưới
Tất cả các dòng trong cột B bạn àDo cách diễn đạt của bạn nên không ai hiểu dẫn đến làm sai.
Bạn muốn so với bao nhiêu dòng ở cột B? Hay là tất cả các dòng?
Code:Tất cả các dòng trong cột B bạn à
Sub XYZ()
Dim arr, i&, j&
arr = Sheet1.Range("A2:C" & Sheet1.Range("A" & Rows.Count).End(xlUp).Row)
For i = 1 To UBound(arr)
For j = 1 To UBound(arr)
If InStr(1, arr(j, 2), arr(i, 1)) Then
arr(i, 3) = "Trùng": Exit For
End If
Next
If j = UBound(arr) + 1 Then arr(i, 3) = "Khác"
Next
Sheet1.Range("E2").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub
Ko có câu lệnh để chạy hả Bác? Bác làm thế này chuyên nghiệp quá ! Em cám ơn nhéCode:
Rich (BB code):Sub XYZ() Dim arr, i&, j& arr = Sheet1.Range("A2:C" & Sheet1.Range("A" & Rows.Count).End(xlUp).Row) For i = 1 To UBound(arr) For j = 1 To UBound(arr) If InStr(1, arr(j, 2), arr(i, 1)) Then arr(i, 3) = "Trùng": Exit For End If Next If j = UBound(arr) + 1 Then arr(i, 3) = "Khác" Next Sheet1.Range("E2").Resize(UBound(arr, 1), UBound(arr, 2)) = arr End Sub
Đây là công thức mảng, bạn phải kết thúc bằng Ctrl + Shift + Enter.Của bác chỉ so sánh ngang dòng đc thôi chứ ko so sánh đc so với cả cột
C2=IF(SUMPRODUCT(--ISNUMBER(SEARCH(A2,$B$2:$B$7))),"Trùng","Khác")
Tìm "A" trong "B,CA,D" có thể là không trùngCode:
Rich (BB code):Sub XYZ() Dim arr, i&, j& arr = Sheet1.Range("A2:C" & Sheet1.Range("A" & Rows.Count).End(xlUp).Row) For i = 1 To UBound(arr) For j = 1 To UBound(arr) If InStr(1, arr(j, 2), arr(i, 1)) Then arr(i, 3) = "Trùng": Exit For End If Next If j = UBound(arr) + 1 Then arr(i, 3) = "Khác" Next Sheet1.Range("E2").Resize(UBound(arr, 1), UBound(arr, 2)) = arr End Sub
Công thức bài #2 là công thức mảng phải nhấn Ctrl+Shift+EnterCủa bác chỉ so sánh ngang dòng đc thôi chứ ko so sánh đc so với cả cột
Bài đã được tự động gộp:
Trùng bác ạ. Vi nó trùng với A dòng dưới
Ờ nhỉ! Mấy cái dữ liệu ví dụ kiểu này khó đoán định lắm.Tìm "A" trong "B,CA,D" có thể là không trùng
công thức mảng =IF(SUM(IFERROR(SEARCH(A2;$B$2:$B$7);0))>0;"trùng";"khác")Tất cả các dòng trong cột B bạn à