Dò tìm dữ liệu ra nhiều kết quả

Liên hệ QC

phuong1604

Thành viên thường trực
Tham gia
10/12/08
Bài viết
275
Được thích
1,037
Chào các anh, các chị !
Em muốn dùng công thức để tìm các kết quả. Tựa như hàm Vlookup hay Hlookup, nhưng ở đây là sẽ tìm ra được nhiều kết quả nếu các kết quả đó phù hợp.
Ví dụ cụ thể theo file đính kèm
Cảm ơn các anh, các chị
 

File đính kèm

Hi Phuong,

Anh hơi tò mò tình huống của em đấy.
Vì Nếu về code a nghĩ cấu trúc 1.1.2 .. là không cần thiết hoặc không phù hợp lắm. Mình cũng sẽ có cách đánh code khác hiệu quả hơn.

Còn về cách giải quyết tình huống của e thì a nghĩ sẽ chia ra các cột riêng và thế chỉ cần Vlookup bình thường thôi.
 
Bạn Copy macro này vô SheetName xài thử

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [h3]) Is Nothing Then
    Dim Rng As Range, sRng As Range
    Dim MyAdd As String
    
    Range([i3], [i65500].End(xlUp)).Clear
    Set Rng = Range([A2], [A65500].End(xlUp))
    Set sRng = Rng.Find(Target.Value & "", , xlFormulas, xlPart)
    If Not sRng Is Nothing Then
        MyAdd = sRng.Address
        Do
            If InStr(sRng.Value, Target.Value) = 1 Then _
                [i65500].End(xlUp).Offset(1).Value = sRng.Offset(, 1).Value
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    End If
 End If
End Sub
--=0
 
Chào các anh, các chị !
Em muốn dùng công thức để tìm các kết quả. Tựa như hàm Vlookup hay Hlookup, nhưng ở đây là sẽ tìm ra được nhiều kết quả nếu các kết quả đó phù hợp.
Ví dụ cụ thể theo file đính kèm
Cảm ơn các anh, các chị
Nếu như bạn format cột Mã hàng thành dang Text thì bài toán này giải quyết rất dể dàng ---> Dùng AutoFilter\Custom, với điều kiện begins with = cái gì đó
Việc còn lại chỉ là copy/paste sang nơi khác ---> Có thể tạo 1 code để làm việc này ---> Code chỉ có vài dòng
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$H$3" Then
    Range("I3:I1000").ClearContents
    With Range("A3").CurrentRegion
      .AutoFilter 1, Target.Text & "*"
      .Offset(1, 1).Resize(, 1).SpecialCells(12).Copy
      Range("I3").PasteSpecial 3: .AutoFilter
    End With
  End If
End Sub
 

File đính kèm

Cảm ơn các anh các chị, em đã làm được rồi.
 
Web KT

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

Back
Top Bottom