Bài viết này sẽ Học Excel Online hướng dẫn cách sử dụng hàm VLOOKUP trong Excel với nhiều ví dụ cơ bản cụ thể, giải thích việc sử dụng hàm VLOOKUP từ một bảng tính trong worksheet khác hoặc từ một file Excel khác, tìm kiếm sử dụng VLOOKUP và ký tự * …
Xem nhanh
Hàm VLOOKUP là gì? Đầu tiên, hàm VLOOKUP là một hàm tìm kiếm trong Microsoft Excel. Hàm VLOOKUP sẽ tìm kiếm giá trị bạn đưa vào và trả về giá trị cùng dòng ở một cột khác trong bảng.
Hàm VLOOKUP có mặt trong các phiên bản Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2007 và các phiên bản cũ hơn.
Cú pháp của hàm VLOOKUP như sau:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Hàm VLOOKUP có 4 tham số, 3 tham số đầu tiên là bắt buộc, tham số thứ 4 ở trong ngoặc vuông [range_lookup] là không bắt buộc. Trước khi đi tìm hiểu mỗi tham số có ý nghĩa thế nào, chúng ta hãy cùng nhau xem ví dụ sau đây:
Trong ví dụ trên, chúng ta cần phải tìm đơn giá của sản phẩm có mã sản phẩm là SP004, công thức VLOOKUP được sử dụng trong ô F2 là
=VLOOKUP("SP004",A2:C7,3,FALSE)
lookup_value
là giá trị dùng để tìm kiếm. Giá trị này có thể thuộc kiểu dữ liệu số, ngày tháng hoặc kiểu chuỗi, kiểu tham chiếu hoặc một giá trị được tính toán ra bởi một hàm khác. Trong công thức trên, chuỗi “SP004” là lookup_value.table_array
vùng dữ liệu gồm ít nhất 2 cột. Hàm VLOOKUP luôn tìm kiếm giá trị dùng để tìm kiếm – lookup_value trong cột đầu tiên. Trong công thức trên, vùng A2:C7 là table_array bao gồm 3 cột, hàm VLOOKUP sẽ tìm kiếm chuỗi “SP004” trong cột đầu tiên là cột A.col_index_num
là thứ tự cột chứa giá trị trả về trong bảng table_array . Trong ví dụ trên, table_array là A2:C7, cột C là cột thứ 3 trong bảng này.[range_lookup]
tham số không bắt buộc, nhận giá trị TRUE hoặc 1 (tìm kiếm gần đúng) hoặc FALSE hoặc 0 (tìm kiếm chính xác)
#N/A
Trong ví dụ trên, nếu chúng ta viết chuỗi cần tìm kiếm là “SP004” vào trong công thức VLOOKUP, thì mỗi lần cần tìm kiếm giá trị mới sẽ rất mất công sửa lại công thức, vậy nên, chúng ta có thể viết lại công thức như sau:
=VLOOKUP(F1,A2:C7,3,FALSE)
Vậy là mỗi khi chúng ta cần thay đổi mã sản phẩm, bạn chỉ cần thay đổi trong ô F1, hoặc nếu bạn đã thiết lập Data Validation cho ô F1, thì bạn chỉ việc chọn ở danh sách Data Validation này.
Khi sử dụng hàm VLOOKUP trong thực tế công việc, một điều bạn luôn luôn nên chú ý đó chính là khoá tham chiếu đối với bảng tra cứu. Hãy cùng nhau tìm hiểu ví dụ sau đây
Trong ví dụ này, chúng ta cần phải hoàn thiện việc tra cứu Số lượng và Đơn giá ở cột F và cột G, nếu chúng ta không khoá tham chiếu tới bảng tra cứu $A$2:$C$7 thì khi kéo công thức từ F2 xuống cho F3 và F4 vùng tham chiếu này sẽ bị lệch và dẫn tới kết quả của hàm VLOOKUP không chính xác.
=VLOOKUP(A2,'Ví dụ 02'!$A$2:$C$7,2,FALSE)
Để tra cứu số lượng của sản phẩm với mã SP002 trên sheet Ví dụ 03, bạn bắt đầu từ sheet Ví dụ 03 bắt đầu viết công thức VLOOKUP trong ô B2 như bình thường, khi cần chọn bảng dữ liệu, chúng ta chỉ cần bấm sang sheet Ví dụ 02, sau đó chọn vùng dữ liệu như bình thường, Excel sẽ đủ thông minh để có thể hỗ trợ chúng ta viết công thức VLOOKUP tự động đúng như trên hình minh hoạ.
Để sử dụng hàm VLOOKUP tra cứu dữ liệu từ một file Excel khác, chúng ta lại bắt đầu bằng việc viết hàm VLOOKUP ở file/Workbook chúng ta muốn lấy dữ liệu, trong ảnh minh hoạ là sheet Ví dụ 03 trong file Book1.xlsx. Sau khi viết giá trị muốn tìm kiếm là SP002 được lưu trong ô A2, lưu ý bạn cần bấm dấu phẩy, sau đó chọn vùng dữ liệu cần tra cứu trong file wb khác.xlsx. Excel sẽ viết công thức đúng cho chúng ta, và bạn chỉ cần hoàn thành công thức như sau:
=VLOOKUP(A2,'[wb khác.xlsx]Ví dụ 02'!$A$2:$C$7,2,FALSE)
Trong trường hợp wb khác.xlsx đóng, thì công thức VLOOKUP của chúng ta vẫn sẽ hoạt động, nhưng Excel sẽ tự động “viết lại” công thức VLOOKUP với đường dẫn tới file dữ liệu như sau:
=VLOOKUP(A2,'C:\Users\thanhnguyen\Desktop\[wb khác.xlsx]Ví dụ 02'!$A$2:$C$7,2,FALSE)
Giống như nhiều hàm Excel khác, hàm VLOOKUP hỗ trợ bạn sử dụng ký tự thay thế như
=VLOOKUP("*AX",A2:B7,2,FALSE)
Trong ví dụ này, dấu * thay thế cho cả đoạn “SP001-ABC-” trong dữ liệu của chúng ta.
Nếu bạn muốn tra cứu chuỗi có chứa chữ “GFC” ở khoảng giữa, thì công thức VLOOKUP chúng ta có thể viết công thức VLOOKUP như sau:
=VLOOKUP("*GFC*",A2:B7,2,FALSE)
Để công thức của chúng ta linh hoạt hơn, bạn có thể tách phần “GFC” ra 1 ô riêng – ô G1 chẳng hạn, thì công thức VLOOKUP của chúng ta sẽ như sau:
=VLOOKUP("*" & G1 & "*",A2:B7,2,FALSE)
=VLOOKUP("ZZ*",A2:B7,2,FALSE)
Trong ví dụ này, chúng ta sử dụng “ZZ*” để tra cứu và tìm kiếm ô dữ liệu bắt đầu bằng “ZZ”
Bây giờ sẽ là lúc chúng ta nhìn kỹ hơn vào tham số thứ 4 trong hàm VLOOKUP
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
[range_lookup] nhận giá trị TRUE hoặc FALSE.
Ví dụ tra cứu gần đúng với VLOOKUP như sau, bạn làm quản lý và đưa ra KPI cho các nhân viên bán hàng, tới cuối tháng, bạn sẽ cần tính hoa hồng dựa trên từng bậc doanh thu cho các bạn Sales này, rõ ràng việc sử dụng tra cứu chính xác với VLOOKUP sẽ không giải quyết được vấn đề, còn cách giải quyết bằng cách viết rất nhiều hàm IF lồng nhau sẽ giải quyết được vấn đề này nhưng không phải là sự tối ưu, đó chính là lý do bạn đang đọc bài viết này tới tận bây giờ. Chúng ta sẽ làm như sau:
F2=VLOOKUP(E2,$A$2:$B$7,2,TRUE)
Lưu ý khi chúng ta sử dụng VLOOKUP ở dạng này là: sắp xếp cột dữ liệu (Cột A trong trường hợp này) theo thứ tự từ nhỏ tới lớn. Bởi vì, VLOOKUP sẽ trả về giá trị gần nhất và nhỏ hơn lookup_value – giá trị cần tìm kiếm. Như vậy kết quả #N/A chúng ta đang gặp phải trong ví dụ này là hoàn toàn đúng với cách hoạt động của VLOOKUP, bởi vì trong cột A – Doanh thu không có giá trị nào nhỏ hơn 96 cả. Để xử lý lỗi #N/A trong trường hợp này, bạn có thể kết hợp thêm hàm IFNA hoặc IFERROR như sau:
F2=IFNA(VLOOKUP(E2,$A$2:$B$7,2,TRUE),"Không có hoa hồng")
F2=IFERROR(VLOOKUP(E2,$A$2:$B$7,2,TRUE),"Không có hoa hồng")
Cảm ơn các bạn đã đọc tới đây. Chúc thành công.
ĐT Nguyễn.
P.S: Những kiến thức trong bài này sẽ là nền tảng cơ bản để bạn có thể đọc tiếp bài viết sau đây: