Excel : Hàm tìm kiếm lấy về nhiều giá trị

Lần trước chúng tôi đã đề cập tới công thức để tìm kiếm lấy về nhiều giá trị ,

các bạn có thể tham khảo theo đường Link tại đây .

Hoặc có thể tham khảo theo cách thức khác tại đây .

 \"\"

Tuy nhiên đối với nhiều người dùng có thể sẽ cảm thấy khó khăn khi sử dụng những công thức như vậy thì dưới đây là cách tạo hàm đơn giản để thực hiện việc lấy nhiều dữ liệu

Mở file Excel bạn muốn lấy nhiều dữ liệu , bấm tổ hợp phím Alt_F11 để mở cửa sổ Microsoft Visual Basic , chọn menu Insert > Module , bạn sao chép hàm bên dưới

Function MyVlookup(pWorkRng As Range, pRng As Range, pColumnIndex As Integer, Optional pType As String = \"v\")
Dim xRow As Single
Dim xCol As Single
Dim arr() As Variant
ReDim arr(0)
For i = 1 To pRng.Rows.Count
    If pWorkRng = pRng.Cells(i, 1) Then
        arr(UBound(arr)) = pRng.Cells(i, pColumnIndex)
        ReDim Preserve arr(UBound(arr) + 1)
    End If
Next
If pType = \"h\" Then
    xCol = Range(Application.Caller.Address).Columns.Count
    For i = UBound(arr) To xCol
        arr(UBound(arr)) = \"\"
        ReDim Preserve arr(UBound(arr) + 1)
    Next
    ReDim Preserve arr(UBound(arr) - 1)
    MyVlookup = arr
Else
xRow = Range(Application.Caller.Address).Rows.Count
For i = UBound(arr) To xRow
    arr(UBound(arr)) = \"\"
    ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = Application.WorksheetFunction.Transpose(arr)
End If
End Function


 

Quay trở lại Excel và bạn có thể gõ theo cách như sau

 

=MyVlookup($A$1,$A$1:$B$7,2)

 

Rồi bấm tổ hợp Ctrl_Shift_Enter để tạo thành công thức mảng , sau đó bạn dùng tính năng fill_hand để kéo xuống phía dưới khi ấy bạn sẽ được kết quả như ý .

Số 2 trong hàm cho biết cột dữ liệu bạn định lấy .