Hàm VLOOKUP trong Excel, hướng dẫn chi tiết cho người mới bắt đầu

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ự * …

Hàm VLOOKUP trong Excel – cú pháp và cách sử dụng cơ bản

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

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:

cach-su-dung-ham-vlookup-trong-excel-01
Ví dụ 01

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 

=VLOOKUP("SP004",A2:C7,3,FALSE)

  • lookup_valuelà 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_arrayvù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:C7table_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_numlà 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)
    • FALSE tham số range_lookup khi nhận giá trị FALSE sẽ thực hiện tìm kiếm chính xác cho lookup_value. Trong ví dụ của chúng ta, VLOOKUP sẽ tìm kiếm chính xác chuỗi “SP004” trong cột A, trong trường hợp không tìm thấy, hàm VLOOKUP sẽ trả về lỗi #N/A
    • TRUE tham số range_lookup khi nhận giá trị TRUE sẽ thực hiện tìm kiếm gần đúng, tìm giá trị lớn nhất trong bảng dữ liệu nhưng nhỏ hơn lookup_value. Điều kiện để sử dụng tìm kiếm gần đúng của hàm VLOOKUP là cột tìm kiếm cần được sắp xếp theo thứ tự tăng dần

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.

Sử dụng VLOOKUP với Data Validation List
Sử dụng VLOOKUP với Data Validation List

Làm thế nào để sử dụng hàm VLOOKUP trong thực tế

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

Khoá tham chiếu khi sử dụng VLOOKUP
Khoá tham chiếu khi sử dụng VLOOKUP

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.

5 chú ý khi sử dụng hàm VLOOKUP trong Excel

  1. Hàm VLOOKUP không thể trả về kết quả khi cột lấy kết quả nằm về phía bên trái của cột chứa dữ liệu cần tra cứu. Phương án xử lý: sử dụng kết hợp hàm Index và Match
  2. Hàm VLOOKUP tra cứu không phân biệt chữ hoa / chữ thường.
  3. Chú ý tham số cuối cùng [range_lookup] để chọn đúng TRUE hay FALSE trong trường hợp tra cứu gần đúng hoặc tra cứu chính xác.
  4. Khi tra cứu gần đúng, chú ý dữ liệu trong cột tra cứu cần được sắp xếp theo thứ tự tăng dần
  5. Khi giá trị cần tra cứu không được tìm thấy, VLOOKUP sẽ trả về lỗi #NA.

Sử dụng hàm VLOOKUP trong excel: tra cứu ở 1 sheet khác

VLOOKUP bảng tra cứu ở sheet khác
VLOOKUP bảng tra cứu ở sheet khá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 ở 1 file Excel khác

Tra cứu dữ liệu từ file Excel khác
Tra cứu dữ liệu từ file Excel khác

Để 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)

Tra cứu vlookup từ một workbook khác
Tra cứu vlookup từ một workbook khác

Sử dụng hàm VLOOKUP trong excel và ký tự đại diện *

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ư

  • Dấu * để thay thế cho bất kì số lượng ký tự nào trong tham số lookup_value
  • Dấu ? để thay thế cho 1 và chỉ 1 ký tự trong tham số lookup_value

Ví dụ tìm kiếm mã sản phẩm bắt đầu hoặc kết thúc bởi một chuỗi

Tra cứu với dấu * trong VLOOKUP
Tra cứu với dấu * trong VLOOKUP

=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)

Tra cứu VLOOKUP với dấu *
Tra cứu VLOOKUP với dấu *

=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”

Tra cứu gần đúng với hàm VLOOKUP trong Excel

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.

  • FALSE cho trường hợp tra cứu chính xác mà chúng ta đã có nhiều trường hợp ví dụ trong bài viết này, nếu bạn ngại viết FALSE hơi dài thì ta có thể thay bằng số 0 với tác dụng tương tự.
  • TRUE cho trường hợp tra cứu gần đúng, thay vì gõ TRUE, chúng ta có thể gõ số 1.
Tra cứu gần đúng VLOOKUP trong Excel
Tra cứu gần đúng VLOOKUP trong Excel

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")

Xử lý lỗi #N/A khi dùng VLOOKUP
Xử lý lỗi #N/A khi dùng VLOOKUP

Download file ví dụ (33KB)

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:


Tác giả: dtnguyen (Nguyễn Đức Thanh)

@ Học Excel Online | DTNguyen.business
· · ·

Khóa học mới xuất bản