nhưng nếu như bảng dữ liệu tại Sheet này không có phải chuyển sang bảng dữ liệu ở những Sheet khác để tìm kiếm thì cách viết công thức như sau :
Ví dụ hàm VLOOKUP chỉ trong một bảng của Sheet
=VLOOKUP(C1,$A$2:$B$25,2,0)
Hàm VLOOKUP tìm kiếm nhiều bảng tại những Sheet khác nhau
=IF(ISNA(VLOOKUP(C1,Sheet1!$A$2:$B$25,2,0)),IF(ISNA(VLOOKUP(C1,Sheet2!$A$2:$B$25,2,0)),
IF(ISNA(VLOOKUP(C1,Sheet3!$A$2:$B$25,2,0)),VLOOKUP(C1,Sheet3!$A$2:$B$25,2,0)),
VLOOKUP(C1,Sheet2!$A$2:$B$25,2,0)),VLOOKUP(C1,Sheet1!$A$2:$B$25,2,0))
Trong ví dụ trên được tìm kiếm qua 3 Sheet khác nhau .
Bạn cũng có thể dùng Macro tìm kiếm qua tất cả các Sheet . Macro viết như sau
Function VLOOKAllSheets(Look_Value As Variant, Tble_Array As Range, Col_num As Integer, Optional Range_look As Boolean)
Dim wSheet As Worksheet
Dim vFound
On Error Resume Next
For Each wSheet In ActiveWorkbook.Worksheets
With wSheet
Set Tble_Array = .Range(Tble_Array.Address)
vFound = WorksheetFunction.VLookup _
(Look_Value, Tble_Array, _
Col_num, Range_look)
End With
If Not IsEmpty(vFound) Then Exit For
Next wSheet
Set Tble_Array = Nothing
VLOOKAllSheets = vFound
End Function
Công thức tìm kiếm trên với 3 Sheet trước đó có thể được viết như sau
=VLOOKAllSheets(C1,A1:B25,2,FALSE)