Hàm VLOOKUP trong Excel là gì? Cú pháp kèm ví dụ chi tiết

Hàm VLOOKUP là hàm số được nhiều người dùng sử dụng nhất trong Excel, có khả năng tìm kiếm theo chiều dọc và trả về giá trị tương ứng trong bảng dữ liệu. Đặc biệt, hàm này cũng đã trở thành công cụ không thể thiếu đối với dân văn phòng, kế toán, nhân sự hay bất kỳ ai thường xuyên làm việc với bảng tính. Song, bài viết dưới đây sẽ giúp bạn hiểu rõ VLOOKUP là gì, cú pháp sử dụng và các ví dụ minh họa chi tiết để bạn có thể áp dụng dễ dàng vào thực tế.

Hàm VLOOKUP trong Excel là gì? Lợi ích khi sử dụng?

Hàm VLOOKUP (viết tắt của “Vertical Lookup” – tra cứu theo cột dọc) là một hàm dùng để tìm kiếm một giá trị trong cột đầu tiên của một bảng dữ liệu, sau đó trả về giá trị tương ứng từ một cột khác nằm cùng hàng. 

Ham-Vlookup-1

Trên thực tế, đây là một trong những hàm tra cứu phổ biến nhất trong Excel. Hàm này thường được sử dụng để tra thông tin như tên sản phẩm, giá tiền, mã số, điểm số,…Ví dụ, nếu có một danh sách các mặt hàng kèm mã và giá, bạn có thể dùng VLOOKUP để nhanh chóng tìm giá của một mặt hàng bất kỳ dựa trên mã của nó.

Việc sử dụng hàm số VLOOKUP mang lại nhiều lợi ích rõ rệt trong quá trình làm việc với Excel. Cụ thể:

  • Hàm này giúp tiết kiệm thời gian khi cần tra cứu dữ liệu trong các bảng lớn mà không phải tìm kiếm thủ công. 
  • VLOOKUP đảm bảo độ chính xác cao, hạn chế sai sót khi xử lý thông tin lặp đi lặp lại. 
  • VLOOKUP có khả năng giúp tự động hóa công việc, nhất là khi kết hợp với các hàm khác như IF, ISERROR hay IFERROR. 

Nhờ những lợi ích này, người dùng có thể xây dựng các bảng tính thông minh, linh hoạt và dễ quản lý hơn trong công việc hàng ngày.

Phân biệt hàm VLOOKUP và hàm HLOOKUP

Về cơ bản, hàm số VLOOKUP và hàm HLOOKUP có những điểm khác nhau như sau:

Tiêu chí

VLOOKUP HLOOKUP
Tên đầy đủ Vertical Lookup

Horizontal Lookup

Chức năng chính

Tra cứu dữ liệu theo cột dọc (tìm từ trên xuống dưới) Tra cứu dữ liệu theo hàng ngang (tìm từ trái sang phải)
Cách hoạt động Tìm giá trị trong cột đầu tiên của một bảng, sau đó trả về giá trị từ cột khác cùng hàng

Tìm giá trị trong hàng đầu tiên của một bảng, sau đó trả về giá trị từ hàng khác cùng cột

Cú pháp

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
Ví dụ ứng dụng Tìm giá sản phẩm dựa vào mã sản phẩm

Tìm điểm số theo tên môn học nằm ngang

Tính phổ biến

Phổ biến hơn, được sử dụng thường xuyên trong thực tế

Ít phổ biến hơn, chủ yếu dùng khi dữ liệu được sắp xếp theo hàng

Cú pháp chuẩn của hàm VLOOKUP trong Excel

Cú pháp chuẩn xác của hàm VLOOOKUP trong bảng tính Excel được mô tả như sau:

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Mô tả chi tiết:

Thành phần

Ý nghĩa
lookup_value

Giá trị bạn muốn tìm kiếm trong cột đầu tiên của bảng tính.

table_array

Bảng dữ liệu chứa giá trị cần tra cứu.
col_index_num

Số thứ tự của cột trong table_array mà bạn muốn trả về kết quả (tính từ cột đầu tiên là 1).

[range_lookup] (tùy chọn)

Xác định kiểu tìm kiếm:

  • TRUE hoặc để trống: tìm kiếm tương đối (gần đúng).
  • FALSE: tìm kiếm chính xác.

Cách sử dụng VLOOKUP với ví dụ minh họa chi tiết

Cách sử dụng hàm số VLOOKUP trong bảng tính Excel rất đa dạng. Tùy vào mục đích sử dụng, bạn có thể ứng dụng hàm này để giải quyết các công việc riêng. Dưới đây là  các ví dụ cụ thể mà bạn có thể tham khảo.

Dùng VLOOKUP giữa 2 sheet

Thực tế, hàm VLOOKUP không chỉ giúp người dùng tra cứu dữ liệu trong cùng một trang tính (sheet), mà còn có thể hoạt động linh hoạt giữa hai hoặc nhiều sheet khác nhau. Hãy cùng xem ví dụ cụ thể sau để hiểu rõ cách sử dụng của hàm này nhé.

Ví dụ: Hãy dùng hàm số VLOOKUP trong Excel để tính lương cho các nhân viên trong 2 sheet sau:

Ham-Vlookup-2
Sheet 1
Ham-Vlookup-3
Sheet 2

Cách thực hiện:

Bước 1: Ở sheet 1, bạn hãy nhập công thức như sau: =VLOOKUP(Sheet1!D3).

Ham-Vlookup-4

Bước 2: Bạn tiếp tục tiến hành chuyển sang sheet 2. Sau đó, hãy nhập công thức tương tự như ví dụ bên dưới.

Ham-Vlookup-5

Bước 3: Tại đây, bạn cần sao chép hàm số VLOOKUP đã nhập trực tiếp ở Sheet 2 sang ô thứ tự E3 và nhấn Enter. Ngay sau đó, ô chứa “Lương” sẽ hiển thị kết quả chính xác là 5000 tương tự như bảng ở sheet thứ 2.

Ham-Vlookup-6

Bước 4: Bạn cần sao chép công thức của ô E3 cho các ô còn lại (chẳng hạn từ E4 đến E8) bằng cách nhấp vào ô E3. Sau đó, kéo hình vuông nhỏ ở góc dưới cùng bên phải của ô E3 xuống đến các ô cần áp dụng.

Ham-Vlookup-7

Dùng hàm VLOOKUP để tìm kiếm giá trị gần đúng

Để dùng hàm số VLOOKUP trong trường hợp này, bạn hãy giả sử mình đang quản lý danh sách nhân viên trong Excel, bao gồm các cột như mã nhân viên, tên và chức vụ. Ngoài ra, bạn sẽ được cho thêm một bảng phụ khác chứa mã nhân viên, quê quán và trình độ học vấn. Mục tiêu cuối cùng của bạn là tự động điền thông tin quê quán và trình độ học vấn vào bảng chính dựa trên mã nhân viên.

Ví dụ: Bạn có thông tin về danh sách của các nhân viên như sau:

Ham-Vlookup-8

Để giải quyết tình huống này, đầu tiên tại ô D4 (cột Quê quán trong bảng chính), bạn hãy nhập công thức: =VLOOKUP($A4,$A$16:$C$25,2,0). Sau đó, bạn tiếp tục nhấn Enter.

Ham-Vlookup-9

Tiếp theo, bạn hãy kéo thả để áp dụng công thức cho toàn bộ những nhân viên khác trong bảng sheet.

Ham-Vlookup-10

Tương tự, tại ô E4 của cột trình độ học vấn, bạn tiến hành nhập: =VLOOKUP($A4,$A$16:$C$25,3,0).

Ham-Vlookup-11

Sau đó, bạn hãy nhấn Enter và kéo công thức để kết quả hiển thị như sau:

Ham-Vlookup-12

Dùng VLOOKUP để xếp loại học sinh

Trong ví dụ dưới đây, chúng ta sẽ sử dụng hàm VLOOKUP để xếp loại học lực cho các bạn học sinh dựa trên điểm TB. Theo đó, bảng xếp loại được sắp xếp theo thứ tự tăng dần từ loại Yếu đến Giỏi. Do đó, chúng ta có thể áp dụng công thức tìm kiếm tương đối trong hàm số VLOOKUP. Cụ thể, dưới đây là hai bảng tính minh họa mà bạn có thể tham khảo.

Ham-Vlookup-13

Theo bảng Excel trên, giá trị mà bạn cần phải tìm sẽ nằm ở vị trí cột C và được bắt đầu từ dòng thứ 6. Trong đó, phạm vi cần tìm kiếm sẽ là $A$18:$B$21 và cột chứa giá trị mà bạn cần phải tìm là cột thứ 2.

Tiếp tục tại vị trí ô D6, bạn hãy nhập =VLOOKUP($C6,$A$18:$B$21,2,1).Đây là công thức để giúp dò tìm các giá trị tương đối. Nếu cần thiết, bạn hãy tìm giá trị trực tiếp bằng hàm =VLOOKUP($C6,$A$18:$B$21,2,0) và cuối cùng là nhấn Enter.

Ham-Vlookup-14

Ở bước này, bạn chỉ cần sao chép công thức cho các ô bạn muốn hiển thị kết quả.

Ham-Vlookup-15

Cuối cùng, kết quả của ví dụ này sẽ được hiển thị cụ thể như sau:

Ham-Vlookup-16

Dùng hàm VLOOKUP để tính thưởng nhân viên theo cấp bậc

Tình huống

Do ảnh hưởng của dịch Covid-19, công ty quyết định hỗ trợ phụ cấp cho nhân viên theo từng chức vụ, dựa trên bảng phụ cấp (Bảng 2 – phạm vi ô B16:C21). Nhiệm vụ của bạn là tra cứu mức phụ cấp tương ứng cho từng nhân viên trong danh sách tại Bảng 1, nơi đã có sẵn tên và chức vụ bằng hàm số VLOOKUP.

Ham-Vlookup-17

Cách thực hiện:

Tại ô E4 trong Bảng 1 (cột phụ cấp), bạn nhập theo công thức: =VLOOKUP(D4, $B$16:$C$21, 2, FALSE). Trong đó:

  • D4: Là ô chứa chức vụ của nhân viên.
  • $B$16:$C$21: Là phạm vi bảng tra cứu chứa chức vụ và phụ cấp. Dấu $ giúp cố định vùng dữ liệu để không bị thay đổi khi sao chép công thức xuống các ô khác.
  • 2: Là số thứ tự của cột trả về kết quả (cột phụ cấp trong bảng tra cứu).
  • FALSE: Yêu cầu tìm kiếm chính xác chức vụ.

Ham-Vlookup-18

Sau khi nhập xong công thức, bạn chỉ cần sao chép (copy) xuống các dòng còn lại hoặc dùng tính năng Flash Fill của Excel. Vậy là bạn đã hoàn tất việc tính phụ cấp theo chức vụ của 2 sheet một cách nhanh chóng và chính xác.

Ham-Vlookup-19

Một số lỗi thường gặp khi sử dụng hàm VLOOKUP

Khi sử dụng hàm số VLOOKUP, người dùng sẽ hay bị mắc các lỗi phổ biến sau đây.

Lỗi #NAME?

Lỗi #NAME? thường xảy ra khi giá trị tìm kiếm (Lookup_value) là văn bản nhưng không được đặt trong dấu ngoặc kép (“). Khi người dùng thao tác với chuỗi ký tự trong Excel, bạn cần đặt nội dung cần thao tác trong dấu ngoặc kép để ứng dụng Excel nhận diện đúng.

Ví dụ: Nếu bạn nhập =VLOOKUP(Cải xoăn, A2:B10, 2, 0) thì ứng dụng Excel sẽ báo lỗi #NAME?. Bởi lẽ, ứng dụng này không hiểu “Cải xoăn” là một chuỗi văn bản.

Ham-Vlookup-20

Cách khắc phục: Bạn chỉ cần thêm dấu ngoặc kép xung quanh văn bản, tương tự như =VLOOKUP(“Cải xoăn”, A2:B10, 2, 0)

Lỗi #N/A

Lỗi #N/A thường xảy ra khi ứng dụng Excel không thể tìm thấy giá trị cần dò tìm trong vùng tra cứu. Thực tế, có một số nguyên nhân phổ biến dẫn đến lỗi này như sau:

Giá trị cần tìm không nằm ở cột đầu tiên của bảng dò (Table_array)

Hàm VLOOKUP chỉ tìm kiếm giá trị trong cột đầu tiên bên trái của vùng bảng được chỉ định. Nếu giá trị bạn cần tìm nằm ở cột khác, Excel sẽ không thể thực hiện tìm kiếm và báo lỗi #N/A. Ví dụ: Nếu bạn đặt bảng dò là A2:C10, VLOOKUP sẽ tìm trong cột A. Muốn tìm trong cột B, bạn cần thay đổi Table_array thành B2:C10.

Ham-Vlookup-21

Không tìm thấy giá trị trùng khớp

Nếu dữ liệu bạn cần tìm không tồn tại trong bảng dò, Excel sẽ trả về lỗi #N/A. Trong trường hợp này, bạn có thể dùng hàm IFERROR để thay thế lỗi bằng một nội dung dễ hiểu hơn, ví dụ: =IFERROR(VLOOKUP(…), “Không tìm thấy”). Ví dụ: Khi bạn tìm kiếm “Rau muống” mà dữ liệu này không có trong bảng, kết quả sẽ trả về #N/A.

Ham-Vlookup-22

Dữ liệu bị ẩn khoảng trắng hoặc sai định dạng

Đôi khi dữ liệu nhìn thì giống nhau nhưng thật ra lại khác do có khoảng trắng thừa, ký tự đặc biệt hoặc định dạng sai (chữ thành số hoặc ngược lại). Nếu bạn chắc chắn rằng giá trị cần tìm có trong bảng mà vẫn báo lỗi #N/A, hãy kiểm tra kỹ lại các ô dữ liệu để đảm bảo chúng được nhập đúng định dạng và không chứa ký tự ẩn.

Lỗi #VALUE!

Lỗi #REF! xuất hiện khi số thứ tự cột trả về (hay còn gọi là Col_index_num) lớn hơn số lượng cột trong vùng bảng dò (Table_array) mà bạn đã chọn. Cụ thể, trong công thức của hàm VLOOKUP, tham số Col_index_num quy định cột nào trong bảng sẽ được sử dụng để trả về kết quả. Nếu bạn nhập số cột vượt quá phạm vi có thực trong bảng dò, Excel sẽ không thể truy xuất dữ liệu và dẫn đến lỗi #REF!.

Ví dụ: Bạn viết công thức như sau: =VLOOKUP(A2, B2:C10, 3, FALSE). Nhưng vùng bảng B2:C10 chỉ gồm 2 cột (cột B và cột C), trong khi bạn yêu cầu lấy dữ liệu từ cột thứ 3 → Excel sẽ trả về lỗi #REF!.

Ham-Vlookup-24

Cách khắc phục: Bạn nên kiểm tra lại số lượng cột trong Table_array. Đồng thời, đảm bảo Col_index_num luôn bằng hoặc nhỏ hơn số cột có trong bảng dò.

H3 Lỗi #REF!

Lỗi #VALUE! xảy ra khi tham số Col_index_num trong công thức VLOOKUP nhỏ hơn 1. Trong hàm VLOOKUP, Col_index_num là số thứ tự của cột mà bạn muốn lấy dữ liệu trả về, tính từ cột đầu tiên trong bảng dò (Table_array). Do đó, giá trị nhỏ nhất hợp lệ của Col_index_num là 1. Nếu bạn nhập giá trị bằng 0 hoặc nhỏ hơn, Excel sẽ không hiểu và trả về lỗi #VALUE!.

Ví dụ: Công thức: =VLOOKUP(A2, B2:D10, 0, FALSE). Trong trường hợp này, Col_index_num = 0 → Excel sẽ báo lỗi #VALUE! vì không có cột nào thứ 0 để trả kết quả.

Ham-Vlookup-23

Cách khắc phục: Kiểm tra và đảm bảo rằng Col_index_num luôn là một số nguyên ≥ 1. Đối chiếu lại số thứ tự cột bạn muốn trả kết quả trong vùng bảng dò để nhập đúng.

Cách kết hợp hàm VLOOKUP với các hàm khác

Dưới đây là cách kết hợp hàm số VLOOKUP với các hàm khác để mở rộng tính linh hoạt và xử lý nhiều tình huống tra cứu dữ liệu trong Excel:

Kết hợp VLOOKUP với hàm LEFT / RIGHT

Hai hàm LEFT và RIGHT được dùng để trích xuất một số ký tự nhất định từ một chuỗi văn bản, tính từ bên trái hoặc bên phải.

Cú pháp của hàm số: =LEFT(text, num_chars) / =RIGHT(text, num_chars)

Trong đó:

  • text: Được hiểu là chuỗi văn bản hoặc địa chỉ của ô chứa chuỗi ký tự.
  • num_chars: Số ký tự muốn lấy (tính từ trái với LEFT, từ phải với RIGHT).

Ví dụ: Giả sử bạn có một danh sách sinh viên với mã sinh viên bao gồm thông tin về ngành học. Cụ thể, 4 ký tự đầu tiên của mã sinh viên là mã ngành. Nhiệm vụ của bạn là tạo công thức để xác định tên ngành học tương ứng. 

Ham-Vlookup-25

Gợi y: Tại ô C2, bạn có thể nhập =VLOOKUP(LEFT(A2;4);$A$8:$B$10;2;0). Theo đó, kết quả sẽ được hiển thị ngay theo hình bên dưới.

Ham-Vlookup-26

Kết hợp VLOOKUP và hàm CHOOSE

Hàm CHOOSE có thể được sử dụng kết hợp với VLOOKUP trong trường hợp bạn cần dò tìm theo nhiều điều kiện hoặc cần hoán đổi vị trí cột trong bảng dò.

Cú pháp chuẩn: =VLOOKUP(Lookup_value;CHOOSE({1;2};vùng giá trị 1;vùng giá trị 2); Col_index_ num; Range_lookup)

Ví dụ: Bạn cần xác định mức giá của sản phẩm dựa trên tên sản phẩm và hãng sản xuất. Cả hai thông tin này được cung cấp trước.

Ham-Vlookup-25

Tại ô B14, bạn nhập =VLOOKUP(B12&B13, CHOOSE({1,2}, $A$2:$A$10&$B$2:$B$10, $C$2:$C$10), 2, 0).

Ham-Vlookup-26

Hàm VLOOKUP và hàm IF

Hàm IF có thể kết hợp linh hoạt với VLOOKUP tùy theo mục đích sử dụng. Tùy vào vị trí lồng ghép, bạn có thể đạt được những kết quả khác nhau.

Ví dụ: Giả sử cho điều kiện như hình bên dưới, bạn hãy điền tiếp phần học phí của các sinh viên vào bảng. Lưu ý rằng, tùy vào từng diện đóng học phí nên mỗi ngành học các sinh viên sẽ có những khoản học phí khác nhau.

Ham-Vlookup-27

Theo đó, đáp án chính xác của ô E2 sẽ được hiển thị như sau:

Ham-Vlookup-28

Hàm VLOOKUP và SUM

Hàm số VLOOKUP có thể kết hợp với hàm SUM để xử lý những tình huống cần tính tổng trước khi tra cứu dữ liệu. Nếu bạn muốn tìm kiếm một giá trị sau khi đã tính tổng từ nhiều ô, bạn có thể lồng hàm SUM vào vị trí giá trị dò tìm (lookup_value) trong công thức VLOOKUP.

Cú pháp chuẩn: =VLOOKUP(SUM(a;b;…);Table_array; Col_index_ num; Range_lookup)

Ví dụ: Giả sử thông tin như hình bên dưới, bạn hãy tính số tiền thường của các nhân viên trong bảng. Lưu ý, số hàng mà nhân viên làm được sẽ tính bằng tổng số hàng hóa của quý 1 và 2.

Ham-Vlookup-29

Đáp án chính xác cho ô D2 sẽ là =VLOOKUP(SUM(B2;C2);$A$9:$B$11;2;0).

Ham-Vlookup-30

Hàm VLOOKUP và MID

Hàm MID hoạt động tương tự như LEFT và RIGHT, nhưng cho phép bạn lấy ký tự bắt đầu từ vị trí bất kỳ trong chuỗi.

Cú pháp: =MID(a;b;c)

Trong đó:

  • a: Chuỗi văn bản hoặc địa chỉ ô cần lấy ký tự.
  • b: Vị trí bắt đầu lấy ký tự (tính từ trái sang).
  • c: Số lượng ký tự cần lấy.

Vậy nên, nếu bạn kết hợp hàm MID với VLOOKUP sẽ được công thức chuẩn như sau: =VLOOKUP(MID(a;b;c); Table_array; Col_index_ num; Range_lookup).

Ví dụ: Giả sử cho đề bài tương tự như hình bên dưới, bạn hãy điền ngành học của những bạn sinh viên vào bảng. Lưu ý, ngành học của các bạn sinh viên sẽ hoàn toàn dựa vào mã ngành ở bảng hiển thị bên dưới.

Ham-Vlookup-33

Theo đó, đáp án chính xác cho ô C2 sẽ là =VLOOKUP(MID(A2;4;4); $A$8:$B$10; 2; 0).

Ham-Vlookup-34

Lưu ý khi sử dụng hàm VLOOKUP để tránh lỗi

Khi sử dụng hàm số VLOOKUP trong Excel, bạn nên nắm một số nguyên tắc cơ bản để tránh lỗi và đạt hiệu quả cao:

  • Vị trí cột tra cứu: Giá trị cần dò phải nằm ở cột đầu tiên của bảng dữ liệu (Table_array). Nếu không đúng vị trí này, hàm sẽ không hoạt động chính xác.
  • Kiểu đối sánh: Sử dụng TRUE (hoặc bỏ qua) nếu bạn cần đối sánh tương đối. Ngược lại, hãy sử dụng hàm FALSE nếu bạn muốn đối sánh chính xác – thường là trường hợp phổ biến hơn.
  • Độ chính xác khi tìm kiếm: Nếu range_lookup bị bỏ qua, Excel sẽ mặc định là TRUE, có thể dẫn đến kết quả không chính xác. Vì vậy, nên chỉ rõ FALSE khi bạn cần kết quả đúng tuyệt đối.
  • Xử lý dữ liệu trùng lặp: Nếu cột dò tìm chứa giá trị trùng, VLOOKUP chỉ trả về kết quả đầu tiên mà nó tìm được.
  • Hạn chế về hướng tra cứu: Hàm số VLOOKUP chỉ tìm được dữ liệu nằm ở bên phải của cột tra cứu. Bạn không thể tìm ngược sang bên trái.

Ham-Vlookup-35

Tạm kết

Hàm VLOOKUP là một công cụ mạnh mẽ và cực kỳ hữu ích trong Excel, đặc biệt khi làm việc với các bảng dữ liệu lớn cần tra cứu thông tin nhanh chóng và chính xác. Do đó, hãy thực hành thường xuyên và kết hợp linh hoạt với các hàm khác như IF, SUM, LEFT, MID… để khai thác tối đa sức mạnh của VLOOKUP trong Excel nhé!

XEM THÊM

  • Cách sử dụng hàm COUNTA trong Excel có ví dụ chi tiết
  • Hàm IFERROR trong Excel: Cách sử dụng để bắt lỗi hiệu quả