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 .