Sử dụng VLOOKUP trên nhiều Sheet như thế nào? (1 người xem)

Liên hệ QC

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

triphutommy

Thành viên mới
Tham gia
29/1/13
Bài viết
3
Được thích
0
Mình có 1 danh sách sản phẩm chia thành nhiều sheet (ViDu: Sheet_LCD, Sheet_Laptop, Sheet_HDD,...) và có cùng định dạng các giá trị như sau: maSP, diễn giải, giá SP.
Mình muốn vận dụng hàm VLOOKUP để làm bảng báo giá, khi điền vào masp thì các thông số còn lại sẽ tự hiển thị theo đúng maSP, diễn giải, giá SP.
Mình đang gặp khó khăn trong việc tìm kiếm vùng dữ liệu trên nhiều sheet khác nhau nên ko vận dụng được:=\+, nhờ các ban hướng dẫn giúp, thanks.
View attachment Tinh gia.xlsx
 
Lần chỉnh sửa cuối:
Mình có 1 danh sách sản phẩm chia thành nhiều sheet (ViDu: Sheet_LCD, Sheet_Laptop, Sheet_HDD,...) và có cùng định dạng các giá trị như sau: maSP, diễn giải, giá SP.
Mình muốn vận dụng hàm VLOOKUP để làm bảng báo giá, khi điền vào masp thì các thông số còn lại sẽ tự hiển thị theo đúng maSP, diễn giải, giá SP.
Mình đang gặp khó khăn trong việc tìm kiếm vùng dữ liệu trên nhiều sheet khác nhau nên ko vận dụng được:=\+, nhờ các ban hướng dẫn giúp, thanks.

bức xúc thì gửi file đi cậu.
 
Mình có 1 danh sách sản phẩm chia thành nhiều sheet (ViDu: Sheet_LCD, Sheet_Laptop, Sheet_HDD,...) và có cùng định dạng các giá trị như sau: maSP, diễn giải, giá SP.
Mình muốn vận dụng hàm VLOOKUP để làm bảng báo giá, khi điền vào masp thì các thông số còn lại sẽ tự hiển thị theo đúng maSP, diễn giải, giá SP.
Mình đang gặp khó khăn trong việc tìm kiếm vùng dữ liệu trên nhiều sheet khác nhau nên ko vận dụng được:=\+, nhờ các ban hướng dẫn giúp, thanks.

Trong lúc chờ các cao thủ ra tay, tôi góp ý như sau:

Cách 1: Bạn tạo thêm 1 sheet trung gian, sheet này gồm tổng hợp dữ liêu các sheet đang có (vì các sheet giống nhau về cấu trúc). Sau đó bạn dùng Vlookup về dữ liệu nguồn là file Tổng Hợp này. Tất nhiên bạn dùng công thức hoặc Code VBA để sheet Tong Hop tự động cập nhật dữ liệu từ các sheet kia
Cách 2: Nếu bạn không có nhiều sheet dữ liệu lẻ (=<3) bạn dùng Vlookup "sục sạo" với sheet đầu, nếu không tìm thấy (trả #N/A), cho Vlookup tìm với vùng tìm kiếm ở sheet tiếp theo, và nếu vẫn không tìm thấy thì cho Vlookup "ngó nghiêng" ở sheet tiếp nữa. Đây là cách thủ công với các công thức lồng nhau dẫn đến tạo thành hàm dài loằng ngoằng.

Đến đây xin mời các cao thủ ra tay...
 
CÓ một chỗ thắc mắc, nếu trường hợp mà dữ liệu trùng nhau giữa các Sheet thì tìm kiếm trả về giá trị kiểu gì đây ạ?
Nếu dữ liệu như vậy thử cách này xem sao, em đang thử dùng if và and nó báo lỗi hoài ag
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Mình có 1 danh sách sản phẩm chia thành nhiều sheet (ViDu: Sheet_LCD, Sheet_Laptop, Sheet_HDD,...) và có cùng định dạng các giá trị như sau: maSP, diễn giải, giá SP.
Mình muốn vận dụng hàm VLOOKUP để làm bảng báo giá, khi điền vào masp thì các thông số còn lại sẽ tự hiển thị theo đúng maSP, diễn giải, giá SP.
Mình đang gặp khó khăn trong việc tìm kiếm vùng dữ liệu trên nhiều sheet khác nhau nên ko vận dụng được:=\+, nhờ các ban hướng dẫn giúp, thanks.
View attachment 96592
Bạn xem bài này thử áp dụng nha!
http://www.giaiphapexcel.com/forum/showthread.php?74724-Nhờ-xử-lý-lỗi-về-hàm-tìm-kiếm/page3
Thân
 
CÓ một chỗ thắc mắc, nếu trường hợp mà dữ liệu trùng nhau giữa các Sheet thì tìm kiếm trả về giá trị kiểu gì đây ạ?
Nếu dữ liệu như vậy thử cách này xem sao, em đang thử dùng if và and nó báo lỗi hoài ag

Mình đoán file trên chỉ là file giả lập thôi, không hiểu sao bạn không up file dữ liệu cụ thể đi
^^ giả lập rồi không đúng với yêu câu ---> mất thời gian cho cả 2
 
Thông thường chúng ta hay dùng hàm VLOOKUP , hoặc HLOOKUP , để tìm giá trị trong một bảng dữ liệu
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(ISN A(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,Shee t1!$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)
 
Web KT

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

Back
Top Bottom