[Hỏi] Dò tìm thỏa điều kiện 1 phần ký tự trong ô (1 người xem)

  • Thread starter Thread starter thuannm
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

thuannm

Thành viên mới
Tham gia
7/5/12
Bài viết
15
Được thích
0
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 ạ

Capture.jpg
 

File đính kèm

.....

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.
Chào thuannm,

Bạn thử công thức sau:
Mã:
B2=IFERROR(INDEX($F$2:$F$4,LOOKUP(100,SEARCH($E$2:$E$4,A2),{1;2;3})),"")
Fill xuống

Chúc bạn ngày vui
 
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 ạ
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 thuannm,

Bạn thử công thức sau:
Mã:
B2=IFERROR(INDEX($F$2:$F$4,LOOKUP(100,SEARCH($E$2:$E$4,A2),{1;2;3})),"")
Fill xuống

Chúc bạn ngày vui


Em làm được rồi ạ nhưng vấn khi cần thêm điều kiện cột E (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 ạ.
 
Lần chỉnh sửa cuối:
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 ạ.
Chào thuannm,

Hoặc theo lời bạn befaint:
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.

Hoặc điều chỉnh vùng công thức.

Dù giải pháp nào bạn cũng đưa file thật lên đề anh em tính tiếp.

Chúc bạn ngày vui
 
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 --=0
Demo đây. Bạn chép vô một module rồi click RUN.
Mã:
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
Còn file thật thì upload lên google drive, dropbox, mediafire... rồi gửi link qua đây.
 
Em cắt hết rồi nhờ các bác xem ạ.
Bạn thử đoạn sau.
Mã:
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
 
Web KT

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

Back
Top Bottom