Chào thuannm,.....
Em đang bí vụ này nhờ các bác hướng dẫn.
Em có 2 cột, cột số 1 cột đầy đủ diễn giải mặt hàng, cột số 2 chứa một phần ký tự cột đầu tiên.
Làm sao để do tìm tương tự Vlookup để lấy kết quả cột 2 trả về cho cột 1.
B2=IFERROR(INDEX($F$2:$F$4,LOOKUP(100,SEARCH($E$2:$E$4,A2),{1;2;3})),"")
Cái này làm bằng vba cho khoẻ. Bạn gửi file thật lên luôn đi, khỏi đề mo đề meo gì nữa.Chào các bác,
Em đang bí vụ này nhờ các bác hướng dẫn.
Em có 2 cột, cột số 1 cột đầy đủ diễn giải mặt hàng, cột số 2 chứa một phần ký tự cột đầu tiên.
Làm sao để do tìm tương tự Vlookup để lấy kết quả cột 2 trả về cho cột 1.
File exel em gửi kèm ạ
Chào thuannm,
Bạn thử công thức sau:
Fill xuốngMã:B2=IFERROR(INDEX($F$2:$F$4,LOOKUP(100,SEARCH($E$2:$E$4,A2),{1;2;3})),"")
Chúc bạn ngày vui
Chào thuannm,
Bạn thử công thức sau:
Fill xuốngMã:B2=IFERROR(INDEX($F$2:$F$4,LOOKUP(100,SEARCH($E$2:$E$4,A2),{1;2;3})),"")
Chúc bạn ngày vui
Chào thuannm,Em làm được rồi ạ nhưng vấn khi cần thêm điều kiện cột H (vd thêm 100 loại nữa) thì viết công thức lại phức tạp quá ạ. Bác có cách nào không cần sửa công thức không ạ.
Cái này làm bằng vba cho khoẻ. Bạn gửi file thật lên luôn đi, khỏi đề mo đề meo gì nữa.
Cái này làm bằng vba cho khoẻ. Bạn gửi file thật lên luôn đi, khỏi đề mo đề meo gì nữa.
Bạn cứ gửi file thật nhưng giản lược bớt thông tin và những sheet khác không cần thiết là được rồi.File em nặng lắm bác. Nếu có VBA nhờ bác hướng dẫn ạ. Lâu lâu có dịp học hỏi![]()
Demo đây. Bạn chép vô một module rồi click RUN.File em nặng lắm bác. Nếu có VBA nhờ bác hướng dẫn ạ. Lâu lâu có dịp học hỏi![]()
Sub DeMo()
Dim DK(), tmp(), KQ(), i As Long, k As Long
DK = Sheet1.Range("E2:F" & Sheet1.Range("E65000").End(xlUp).Row).Value
tmp = Sheet1.Range("A2:A" & Sheet1.Range("A65000").End(xlUp).Row).Value
ReDim KQ(1 To UBound(tmp, 1), 1 To 1)
For i = 1 To UBound(KQ, 1)
For k = 1 To UBound(DK, 1)
If tmp(i, 1) Like "*" & DK(k, 1) & "*" Then KQ(i, 1) = DK(k, 2): Exit For
Next k
Next i
Sheet1.Range("B2:B65000").ClearContents
Sheet1.Range("B2").Resize(UBound(KQ, 1), 1) = KQ
End Sub
Bạn cứ gửi file thật nhưng giản lược bớt thông tin và những sheet khác không cần thiết là được rồi.
Chúc bạn ngày vui
Bạn thử đoạn sau.Em cắt hết rồi nhờ các bác xem ạ.
Sub GanThat()
Dim DK(), tmp(), KQ(), i As Long, k As Long
DK = Sheet2.Range("B1:C" & Sheet2.Range("C65000").End(xlUp).Row).Value
tmp = Sheet1.Range("B2:B" & Sheet1.Range("B65000").End(xlUp).Row).Value
ReDim KQ(1 To UBound(tmp, 1), 1 To 1)
For i = 1 To UBound(KQ, 1)
For k = 1 To UBound(DK, 1)
If tmp(i, 1) Like "*" & DK(k, 1) & "*" Then KQ(i, 1) = DK(k, 2): Exit For
Next k
Next i
Sheet1.Range("C2:C65000").ClearContents
Sheet1.Range("C2").Resize(UBound(KQ, 1), 1) = KQ
End Sub