Trang bị ngay một chiếc laptop cấu hình mạnh để xử lý công việc văn phòng hiệu quả:
Hàm VLOOKUP là một trong những công cụ tra cứu dữ liệu theo cột mạnh mẽ và phổ biến nhất trong cả Excel lẫn Google Sheets, giúp tự động hóa công việc và giảm thiểu sai sót thủ công. Bài viết này sẽ hướng dẫn bạn từ A-Z cách sử dụng hàm VLOOKUP trên laptop từ cú pháp cơ bản, ví dụ thực tế trong công việc kế toán, quản lý kho, cho đến cách khắc phục các lỗi thường gặp. Hãy cùng bắt đầu để làm chủ công cụ tìm kiếm dọc không thể thiếu này nhé!
1. Hàm VLOOKUP là gì?
Hàm VLOOKUP là viết tắt của "Vertical Lookup" (Tìm kiếm theo chiều dọc), là hàm dùng để tìm một giá trị trong cột đầu tiên của một bảng và trả về một giá trị tương ứng trên cùng một hàng ở một cột khác.
Theo định nghĩa từ Microsoft Support, đây là công cụ giúp bạn tìm kiếm và đối chiếu dữ liệu một cách nhanh chóng. Có thể hình dung VLOOKUP giống như việc bạn tra cứu tên một người trong danh bạ điện thoại: Bạn tìm theo "Tên" (cột đầu) để lấy ra "Số điện thoại" (cột khác).
Hàm sẽ thực hiện việc dò tìm từ trên xuống dưới trong một cột được chỉ định. Công thức VLOOKUP tổng quát như sau:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Trong đó, hàm có 4 tham số chính:
- lookup_value: Thứ bạn muốn tìm. Đây là giá trị dùng để làm mốc so sánh.
- table_array: Nơi bạn muốn tìm. Đây là vùng dữ liệu chứa cả giá trị cần tìm và kết quả muốn trả về.
- col_index_num: Dữ liệu bạn muốn lấy ra. Đây là số thứ tự của cột chứa kết quả trong vùng dữ liệu.
- range_lookup: Cách bạn muốn tìm (chính xác hay tương đối).

Ví dụ về hàm VLOOKUP
2. Tại sao hàm VLOOKUP lại quan trọng?
Hàm VLOOKUP không chỉ là một công thức mà là một công cụ giúp tự động hóa, tăng độ chính xác và tiết kiệm hàng giờ làm việc khi xử lý các bảng dữ liệu lớn. Tưởng tượng bạn phải điền tên 500 sản phẩm vào phiếu xuất kho chỉ dựa vào mã hàng. VLOOKUP sẽ làm việc này thay bạn chỉ bằng một cú kéo chuột.
- Tự động hóa tra cứu: Thay vì dò bằng mắt hàng trăm dòng, VLOOKUP tìm kết quả trong vài giây, giúp tự động hóa báo cáo hiệu quả.
- Giảm thiểu sai sót: Loại bỏ lỗi "nhìn nhầm dòng", "gõ sai số" so với nhập liệu thủ công.
- Hợp nhất dữ liệu: Dễ dàng kết hợp thông tin từ hai bảng dữ liệu khác nhau dựa trên một mã chung (mã nhân viên, mã sản phẩm).
- Ứng dụng rộng rãi: Phổ biến trong hầu hết các ngành nghề từ kế toán, nhân sự, quản lý kho đến phân tích dữ liệu. Các người dùng kế toán, phòng nhân sự thường xuyên phải tra cứu nhân viên hay tra mã sản phẩm.
3. Hướng dẫn cách dùng hàm VLOOKUP cơ bản (Kèm ví dụ)
Phần này sẽ đi sâu vào từng tham số của hàm VLOOKUP với một ví dụ cụ thể về bảng giá sản phẩm để bạn dễ dàng hình dung và thực hành theo. Hãy chuẩn bị một bảng dữ liệu mẫu đơn giản bao gồm các cột: Mã SP, Tên SP, Đơn giá.

Bảng dữ liệu mẫu
Tham số 1: lookup_value (Giá trị cần tìm)
Đây là nơi mà bạn dùng để bắt đầu tìm kiếm. Giá trị này phải tồn tại trong cột đầu tiên của bảng dữ liệu mà bạn sắp chỉ định. Giá trị này có thể là một số, một chuỗi văn bản, hoặc một tham chiếu đến ô khác (phổ biến nhất).
Ví dụ: Để tìm thông tin của sản phẩm có mã "A002", lookup_value sẽ là ô chứa mã "A002".

Tham số 1: lookup_value
Tham số 2: table_array (Vùng dữ liệu để tìm)
Đây là toàn bộ khu vực chứa dữ liệu mà VLOOKUP sẽ tìm kiếm trong đó. Vùng này phải chứa cả giá trị cần tìm và giá trị bạn muốn trả về.
LƯU Ý CỰC KỲ QUAN TRỌNG: Cột đầu tiên của table_array BẮT BUỘC phải là cột chứa lookup_value. Đây là nguyên nhân gây lỗi phổ biến nhất. Bạn nên sử dụng tham chiếu tuyệt đối (dùng phím F4 để thêm dấu $, ví dụ: $A$2:$C$10) để khi sao chép công thức, vùng dữ liệu không bị dịch chuyển sai.

Tham số 2: table_array
Tham số 3: col_index_num (Số thứ tự cột cần lấy giá trị)
Sau khi tìm thấy hàng chứa giá trị bạn cần, tham số này sẽ chỉ cho Excel biết phải lấy dữ liệu ở cột thứ mấy trong vùng table_array để trả về. Đây là một con số, không phải chữ cái tên cột (A, B, C).
Cách đếm: Cột đầu tiên trong table_array của bạn được đếm là 1, cột tiếp theo là 2, và cứ thế. Ví dụ: Để lấy "Tên SP", col_index_num là 2. Để lấy "Đơn giá", col_index_num là 3.

Tham số 3: col_index_num
Tham số 4: range_lookup (Phạm vi tìm kiếm)
Tham số cuối cùng này quyết định kiểu tìm kiếm của VLOOKUP: tìm kiếm chính xác tuyệt đối hay tìm kiếm tương đối (gần đúng).
|
Giá trị
|
Tên gọi
|
Ý nghĩa
|
Khi nào dùng?
|
|
FALSE hoặc 0
|
Tìm kiếm chính xác
|
VLOOKUP chỉ trả về kết quả nếu tìm thấy lookup_value khớp 100%. Nếu không, sẽ báo lỗi #N/A.
|
Dùng trong 99% các trường hợp thực tế: tra mã nhân viên, mã sản phẩm, mã vạch...
|
|
TRUE hoặc 1
|
Tìm kiếm gần đúng
|
VLOOKUP sẽ tìm giá trị gần đúng nhỏ hơn hoặc bằng lookup_value. Yêu cầu bắt buộc: Cột đầu tiên của table_array phải được sắp xếp theo thứ tự tăng dần.
|
Dùng trong các trường hợp chia khoảng, xếp loại: xếp loại học lực theo điểm, tính bậc thuế, tính chiết khấu theo doanh số.
|

Tham số 4: range_lookup
Lời khuyên: Khi mới bắt đầu, hãy luôn sử dụng FALSE (hoặc 0) để đảm bảo dữ liệu chính xác và tránh các kết quả sai không mong muốn.
Xem thêm:
Kết quả
Sau khi điền đủ 4 tham số, chúng ta nhấn Enter. Hàm VLOOKUP sẽ trả về tên sản phẩm tương ứng với mã "A002".

Kết quả
4. Các lỗi thường gặp với VLOOKUP và cách khắc phục
VLOOKUP là hàm hữu ích nhưng cũng dễ phát sinh lỗi nếu không cẩn thận. Dưới đây là những lỗi phổ biến nhất và hướng dẫn từng bước để khắc phục chúng.
Lỗi #N/A (Not Available)
Đây là lỗi phổ biến nhất, có nghĩa là VLOOKUP không thể tìm thấy lookup_value trong cột đầu tiên của vùng dữ liệu.
- Nguyên nhân:
lookup_value thực sự không tồn tại. ⭢ Khắc phục: Kiểm tra lại chính tả, đảm bảo giá trị tìm kiếm là chính xác.
- Nguyên nhân: Có ký tự thừa (dấu cách) ở đầu hoặc cuối dữ liệu.⭢ Khắc phục: Dùng hàm
TRIM() để loại bỏ khoảng trắng thừa cho cả lookup_value và cột dữ liệu.
- Nguyên nhân: Sai định dạng dữ liệu (ví dụ: tìm một số trong một cột văn bản). ⭢ Khắc phục: Đảm bảo cả hai giá trị có cùng định dạng.
- Nguyên nhân: Dùng tìm kiếm gần đúng (
TRUE) nhưng bảng chưa được sắp xếp. ⭢ Khắc phục: Sắp xếp lại bảng hoặc chuyển sang tìm kiếm chính xác (FALSE).
Ví dụ:
- Hình ảnh: Cột C hiển thị kết quả VLOOKUP.
- Trước (Lỗi): Ô C16 trả về #N/A khi tìm "P999" (không có trong bảng) hoặc "P002 " (có dấu cách thừa).
- Sau (Khắc phục): Ô C18 khắc phục lỗi dấu cách bằng cách dùng hàm TRIM(). Ô C20 minh họa việc dùng IFERROR để bẫy lỗi này và trả về một thông báo thân thiện.

Lỗi #N/A
Lỗi #REF! (Reference)
Lỗi này xuất hiện khi tham chiếu trong công thức của bạn không hợp lệ, thường liên quan đến col_index_num.
- Nguyên nhân:
col_index_num lớn hơn tổng số cột trong table_array. Ví dụ: table_array chỉ có 3 cột nhưng bạn yêu cầu lấy dữ liệu ở cột thứ 4. ⭢ Khắc phục: Kiểm tra lại số đếm và sửa col_index_num cho đúng.
- Nguyên nhân: Cột mà công thức tham chiếu đến đã bị xóa. ⭢ Khắc phục: Hoàn tác (Undo) hoặc viết lại công thức với cấu trúc bảng mới.
Ví dụ:
- Hình ảnh: Cột C hiển thị kết quả VLOOKUP.
- Trước (Lỗi): Ô C16 trả về #REF! vì công thức yêu cầu lấy dữ liệu ở cột thứ 4, trong khi bảng dữ liệu chỉ có 3 cột.
- Sau (Khắc phục): Ô C18 đã sửa lại col_index_num thành 3, và kết quả trả về chính xác giá của sản phẩm "P001".

Lỗi #REF!
VLOOKUP trả về kết quả sai
Đôi khi công thức không báo lỗi nhưng lại trả về một giá trị không chính xác. Nguyên nhân hầu hết đến từ việc sử dụng sai range_lookup.
- Nguyên nhân: Bỏ trống tham số
range_lookup (mặc định là TRUE) hoặc cố tình dùng TRUE trên một bảng dữ liệu chưa được sắp xếp tăng dần. ⭢ Khắc phục: Luôn chỉ định rõ range_lookup là FALSE nếu bạn cần tìm kiếm chính xác.
- Nguyên nhân: Có nhiều giá trị trùng lặp trong cột tìm kiếm. ⭢ Lưu ý: VLOOKUP sẽ luôn chỉ trả về kết quả của dòng đầu tiên nó tìm thấy. Đây là tính năng, không phải lỗi.
Ví dụ
Hình ảnh 1: Bảng dữ liệu chưa sắp xếp. Chúng ta có một bảng giá sản phẩm, nhưng cột "Mã SP" (A3:A7) đang lộn xộn, không theo thứ tự tăng dần (P003, P001, P004, P002).

Bảng dữ liệu chưa sắp xếp
Hình ảnh 2: Kết quả sai do thiếu tham số range_lookup.
Tại ô C15, công thức =VLOOKUP(A15, A3:C7, 2) được sử dụng để tìm tên sản phẩm cho mã "P002". Do không có tham số cuối cùng, VLOOKUP mặc định tìm kiếm gần đúng (TRUE). Trên bảng chưa sắp xếp, nó trả về kết quả sai là "Bút bi" (của P001).

Kết quả sai do thiếu tham số range_lookup
Hình ảnh 3: Khắc phục bằng cách thêm FALSE
Để sửa lỗi này, chúng ta cần thêm FALSE (hoặc 0) vào tham số cuối cùng để bắt buộc VLOOKUP tìm kiếm chính xác. Công thức đúng là: =VLOOKUP(A15, A3:C7, 2, FALSE). Kết quả giờ đây đã chính xác là "Thước kẻ".

Khắc phục bằng cách thêm FALSE
5. Cách kết hợp VLOOKUP với các hàm khác
Khi đã thành thạo VLOOKUP cơ bản, bạn có thể kết hợp nó với các hàm khác để xử lý những tình huống phức tạp hơn, như bẫy lỗi hay tự động cập nhật số cột.
IFERROR + VLOOKUP: Xử lý lỗi #N/A chuyên nghiệp
Thay vì hiển thị lỗi #N/A khó coi, bạn có thể dùng hàm IFERROR để trả về một thông báo thân thiện hơn, ví dụ như "Không tìm thấy". Hàm IFERROR hoạt động bằng cách thử chạy công thức VLOOKUP, nếu thành công thì trả về kết quả, nếu lỗi thì trả về giá trị bạn đã chỉ định.
Công thức: =IFERROR(VLOOKUP(…), "Không tìm thấy")
VLOOKUP + MATCH: Tự động hóa col_index_num
Một trong những điểm yếu của VLOOKUP là col_index_num phải nhập thủ công. Khi kết hợp với hàm MATCH, bạn có thể làm cho tham số này trở nên động và linh hoạt. Hàm MATCH sẽ tìm vị trí (số thứ tự) của tiêu đề cột, và con số đó được dùng làm col_index_num cho VLOOKUP. Điều này rất hữu ích khi bảng dữ liệu thường xuyên thay đổi thứ tự cột.
Công thức: =VLOOKUP(lookup_value, table_array, MATCH(tên_cột, vùng_tiêu_đề, 0), FALSE)

Cách kết hợp VLOOKUP với các hàm khác
6. So sánh VLOOKUP với các hàm tìm kiếm khác
VLOOKUP rất mạnh, nhưng không phải là lựa chọn duy nhất. Tùy vào cấu trúc dữ liệu và yêu cầu, các hàm khác như HLOOKUP hay INDEX & MATCH có thể sẽ hiệu quả hơn.
|
Hàm
|
Điểm mạnh
|
Điểm yếu
|
Khi nào nên dùng?
|
|
VLOOKUP
|
Dễ học, dễ nhớ, phổ biến.
|
Không tìm ngược được (phải sang trái), col_index_num cố định, chậm hơn với dữ liệu rất lớn.
|
Dữ liệu có cấu trúc ổn định, cột tìm kiếm luôn ở bên trái.
|
|
HLOOKUP
|
Tương tự VLOOKUP nhưng tìm theo hàng ngang.
|
Có các điểm yếu tương tự VLOOKUP.
|
Dữ liệu được trình bày theo hàng ngang thay vì cột dọc.
|
|
INDEX & MATCH
|
Cực kỳ linh hoạt: tìm ngược, tìm ngang, tìm dọc đều được. Nhanh hơn VLOOKUP.
|
Cú pháp phức tạp hơn vì phải kết hợp 2 hàm.
|
Bảng dữ liệu lớn, cấu trúc hay thay đổi, cần tìm kiếm ngược.
|
|
XLOOKUP
|
(Trên Excel 365) Kết hợp ưu điểm của VLOOKUP và INDEX & MATCH. Dễ sử dụng, linh hoạt.
|
Chỉ có trên các phiên bản Excel mới. File sẽ không tương thích với máy dùng Excel cũ.
|
Khi bạn và mọi người trong team đều dùng Excel 365 trở lên.
|
7. Mẹo dùng hàm VLOOKUP hiệu quả
Để trở thành một người dùng VLOOKUP thành thạo, hãy ghi nhớ những mẹo thực chiến sau để công thức của bạn luôn chính xác và ổn định.
- Luôn dùng tham chiếu tuyệt đối (
$) cho table_array: Nhấn F4 sau khi chọn vùng để cố định nó, tránh lỗi khi kéo công thức.
- Sử dụng Data Validation: Tạo danh sách thả xuống cho ô
lookup_value để người dùng không thể nhập sai mã.
- Kiểm tra định dạng dữ liệu: Đảm bảo số là số, chữ là chữ. Dùng hàm
VALUE() hoặc TEXT() để chuyển đổi nếu cần.
- VLOOKUP giữa 2 sheet hoặc 2 file khác nhau: Hoàn toàn có thể. Chỉ cần đảm bảo bạn chọn
table_array ở đúng sheet/file mong muốn.
8. Câu hỏi thường gặp
Cách dùng hàm VLOOKUP để tìm dữ liệu trong Excel hoặc Google Sheets?
Hàm VLOOKUP tìm kiếm một giá trị trong cột đầu tiên của bảng, rồi trả về giá trị ở cột thứ N cùng hàng. Ví dụ: =VLOOKUP(A2, B2:E10, 3, FALSE) tìm tên trong ô A2 trong bảng B2:E10, trả về cột thứ 3.
Làm thế nào để dùng hàm VLOOKUP kết hợp IF để đưa ra kết quả đúng/sai?
Sử dụng công thức: =IF(VLOOKUP(...) > 10, "Lớn hơn 10", "Nhỏ hơn hoặc bằng 10"). Ví dụ: =IF(VLOOKUP(A2, B2:D10, 3, FALSE) > 100, "Đạt", "Không đạt").
Có thể dùng hàm VLOOKUP để tra cứu giữa nhiều sheet không?
Có. Bạn chỉ cần chỉnh phạm vi tìm kiếm theo dạng: =VLOOKUP(A2, Sheet2!A:D, 2, FALSE) để tra cứu từ Sheet2 hoặc các sheet khác.
Làm sao để xử lý lỗi #N/A khi VLOOKUP không tìm thấy dữ liệu?
Kết hợp hàm IFNA: =IFNA(VLOOKUP(...), "Không tìm thấy"). Ví dụ: =IFNA(VLOOKUP(A2, B2:C10, 2, FALSE), "Không tồn tại").
Bạn có thể dùng VLOOKUP để tra cứu dữ liệu trong nhiều cột cùng lúc không?
Không trực tiếp. Tuy nhiên, có thể dùng hàm INDEX và MATCH hoặc dùng công thức mảng kết hợp nhiều VLOOKUP để lấy dữ liệu từ nhiều cột theo yêu cầu.
Tham khảo các bộ Microsoft Office chính hãng giá tốt tại Thế Giới Di Động
VLOOKUP là hàm tìm kiếm theo cột, cực kỳ hữu ích để tự động hóa việc tra cứu dữ liệu. Công thức có 4 tham số, trong đó việc hiểu rõ `col_index_num` và `range_lookup` (luôn ưu tiên `FALSE`) là quan trọng nhất. Các lỗi phổ biến như #N/A, #REF! hoàn toàn có thể khắc phục được nếu bạn hiểu rõ nguyên nhân. Việc làm chủ hàm VLOOKUP sẽ là một bước tiến lớn trong kỹ năng xử lý dữ liệu của bạn, giúp tiết kiệm thời gian và nâng cao hiệu quả công việc. Đừng ngại thực hành với các bảng dữ liệu của chính bạn để trở nên thành thạo hơn.
Nếu bạn có bất kỳ thắc mắc hay thủ thuật VLOOKUP nào khác muốn chia sẻ, đừng ngần ngại để lại bình luận bên dưới nhé!