VLOOKUP là một trong những hàm Excel được sử dụng nhiều nhất khi cần tra cứu dữ liệu theo bảng. Nếu bạn thường xuyên làm việc với danh sách nhân viên, bảng giá, mã sản phẩm, doanh thu hay dữ liệu khách hàng, đây gần như là một trong những hàm nên học đầu tiên.
Điểm hay của VLOOKUP là cách dùng khá đơn giản. Nhưng để sử dụng hiệu quả trong công việc thực tế, bạn cần hiểu rõ cách Excel tìm kiếm dữ liệu, sự khác nhau giữa dò chính xác và dò gần đúng, cũng như những giới hạn của hàm.
Hàm VLOOKUP trong Excel là gì?
VLOOKUP là hàm dùng để tìm một giá trị trong cột đầu tiên của một vùng dữ liệu, sau đó trả về thông tin nằm ở một cột khác trên cùng hàng.
Hiểu đơn giản, giả sử bạn có bảng:
| Mã SP | Tên sản phẩm | Giá |
|---|---|---|
| SP001 | Bàn phím | 350.000 |
| SP002 | Chuột không dây | 250.000 |
| SP003 | Tai nghe | 590.000 |
Khi nhập mã SP002, Excel có thể tự động trả về:
Chuột không dây hoặc 250.000
thay vì bạn phải tìm thủ công trong bảng.
Cú pháp hàm VLOOKUP
Cú pháp cơ bản:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Trong đó:
lookup_value: giá trị cần tìm.
table_array: vùng dữ liệu chứa bảng tra cứu.
col_index_num: số thứ tự của cột muốn lấy kết quả, tính từ cột đầu tiên của vùng tra cứu.
range_lookup: kiểu tìm kiếm.
FALSEhoặc0: tìm chính xác.TRUEhoặc1: tìm gần đúng.
Trong phần lớn các bài toán tra cứu mã sản phẩm, mã nhân viên hay mã khách hàng, bạn nên sử dụng FALSE.
Ví dụ VLOOKUP cơ bản
Giả sử bảng dữ liệu nằm trong vùng A2:C100.
Ô E2 chứa mã sản phẩm cần tìm.
Muốn lấy tên sản phẩm, bạn có thể dùng:
=VLOOKUP(E2,A2:C100,2,FALSE)
Muốn lấy giá:
=VLOOKUP(E2,A2:C100,3,FALSE)
Ở công thức thứ hai:
- Excel lấy giá trị tại
E2. - Tìm giá trị đó trong cột A.
- Khi tìm thấy, Excel lấy dữ liệu ở cột thứ 3 của vùng
A:C. FALSEyêu cầu Excel chỉ trả kết quả khi tìm thấy giá trị chính xác.
Vì sao VLOOKUP thường bị lỗi?
Người mới học Excel thường gặp VLOOKUP không phải vì công thức quá khó, mà vì chưa hiểu cách hàm hoạt động.
Giá trị cần tìm không nằm ở cột đầu tiên
VLOOKUP chỉ tìm kiếm trong cột đầu tiên của vùng dữ liệu được chọn.
Ví dụ bạn chọn:
B2:D100
thì VLOOKUP chỉ tìm trong cột B.
Nếu mã cần tra cứu lại nằm ở cột A, công thức sẽ không hoạt động như mong muốn.
Chọn sai số thứ tự cột
Ví dụ:
=VLOOKUP(E2,A2:D100,3,FALSE)
Cột A được tính là 1, B là 2, C là 3 và D là 4.
Vì vậy kết quả sẽ được lấy từ cột C.
Một lỗi khá phổ biến là nhìn số cột trên Excel rồi nhập vào công thức, trong khi col_index_num phải được tính theo vùng table_array, không phải toàn bộ worksheet.
Cố định vùng dữ liệu bằng dấu $
Khi sao chép công thức xuống nhiều hàng, vùng dữ liệu tra cứu có thể bị dịch chuyển.
Ví dụ:
=VLOOKUP(E2,A2:C100,3,FALSE)
Khi kéo xuống hàng tiếp theo, Excel có thể đổi thành:
=VLOOKUP(E3,A3:C101,3,FALSE)
Điều này dễ khiến kết quả sai.
Nên cố định bảng tra cứu:
=VLOOKUP(E2,$A$2:$C$100,3,FALSE)
Sau đó kéo công thức xuống bao nhiêu dòng cũng được.
Đây là một thói quen rất nên hình thành khi dùng VLOOKUP.
VLOOKUP kết hợp IFERROR để xử lý lỗi
Nếu không tìm thấy dữ liệu, Excel thường trả về:
#N/A
Trong một bảng báo cáo gửi cho khách hàng hoặc quản lý, lỗi này khá khó nhìn.
Bạn có thể kết hợp VLOOKUP với IFERROR:
=IFERROR(VLOOKUP(E2,$A$2:$C$100,3,FALSE),"Không tìm thấy")
Khi mã không tồn tại, Excel sẽ hiển thị:
Không tìm thấy
thay vì #N/A.
Bạn cũng có thể để trống:
=IFERROR(VLOOKUP(E2,$A$2:$C$100,3,FALSE),"")
Cách này rất hữu ích khi làm báo cáo hoặc biểu mẫu nhập liệu.
Tra cứu gần đúng bằng VLOOKUP
VLOOKUP không chỉ dùng để tra cứu mã chính xác. Nó còn có thể dùng để phân loại dữ liệu theo khoảng.
Ví dụ bảng xếp loại:
| Điểm | Xếp loại |
|---|---|
| 0 | Yếu |
| 5 | Trung bình |
| 6.5 | Khá |
| 8 | Giỏi |
Nếu điểm của học sinh nằm ở ô D2, có thể dùng:
=VLOOKUP(D2,$A$2:$B$5,2,TRUE)
Nếu D2 = 7, kết quả có thể là:
Khá
Lưu ý quan trọng: khi sử dụng dò gần đúng, cột đầu tiên của bảng tra cứu thường cần được sắp xếp theo thứ tự tăng dần để tránh kết quả sai.
VLOOKUP giữa hai Sheet
Trong thực tế, dữ liệu thường không nằm trên cùng một trang tính.
Ví dụ:
- Sheet1: bảng nhập đơn hàng.
- Sheet2: danh mục sản phẩm.
Bạn có thể dùng:
=VLOOKUP(A2,Sheet2!$A$2:$D$1000,3,FALSE)
Excel sẽ lấy mã ở A2 của Sheet1 rồi tìm trong bảng dữ liệu của Sheet2.
Đây là cách rất phổ biến khi xây dựng file quản lý bán hàng, kho hàng hay dữ liệu nhân sự.
VLOOKUP với nhiều điều kiện
VLOOKUP truyền thống không hỗ trợ trực tiếp nhiều điều kiện. Tuy nhiên, có thể tạo một cột phụ để ghép các điều kiện.
Ví dụ cần tìm theo:
Mã sản phẩm + Chi nhánh
Bạn có thể tạo cột phụ:
=A2&B2
Sau đó giá trị tra cứu cũng ghép tương tự:
=E2&F2
VLOOKUP sẽ tìm giá trị đã ghép trong cột phụ.
Cách này khá dễ áp dụng nhưng với bảng dữ liệu lớn hoặc bài toán phức tạp, các hàm hiện đại như XLOOKUP, FILTER hoặc kết hợp INDEX + MATCH thường linh hoạt hơn.
VLOOKUP có thể tra cứu sang bên trái không?
Đây là một trong những hạn chế nổi tiếng của VLOOKUP.
Hàm chỉ có thể:
Tìm từ cột bên trái → trả kết quả ở cột bên phải.
Ví dụ bảng:
| Tên nhân viên | Mã NV |
|---|
Nếu bạn muốn nhập mã nhân viên rồi tìm tên, VLOOKUP sẽ gặp khó khăn vì cột kết quả nằm bên trái cột tra cứu.
Trong trường hợp này, có thể dùng:
- XLOOKUP.
- INDEX + MATCH.
- Thay đổi cấu trúc bảng.
Nếu đang sử dụng phiên bản Excel hỗ trợ XLOOKUP, đây thường là lựa chọn thuận tiện hơn cho những bài toán tra cứu mới.
Khi nào nên dùng VLOOKUP?
VLOOKUP vẫn rất hữu ích khi:
- File Excel cũ đang sử dụng sẵn VLOOKUP.
- Cấu trúc bảng đơn giản.
- Giá trị cần tìm nằm ở cột đầu tiên.
- Kết quả nằm bên phải cột tra cứu.
- Cần chia sẻ file với người dùng các phiên bản Excel cũ hơn.
Không nhất thiết phải bỏ VLOOKUP chỉ vì Excel có những hàm mới hơn. Quan trọng là chọn công cụ phù hợp với bài toán.
5 lỗi thường gặp khi sử dụng VLOOKUP
1. Lỗi #N/A
Thường xảy ra khi Excel không tìm thấy giá trị.
Hãy kiểm tra:
- Mã có tồn tại hay không.
- Có khoảng trắng thừa không.
- Kiểu dữ liệu có giống nhau không.
- Một bên là số, một bên lại là văn bản hay không.
2. Lỗi #REF!
Có thể xảy ra khi số cột yêu cầu lớn hơn số cột trong vùng tra cứu.
Ví dụ:
=VLOOKUP(E2,A2:C100,4,FALSE)
Vùng A:C chỉ có 3 cột nhưng công thức lại yêu cầu trả về cột thứ 4.
3. Kết quả sai dù không báo lỗi
Một nguyên nhân thường gặp là sử dụng TRUE trong khi thực tế cần tìm chính xác.
Với mã sản phẩm hoặc mã nhân viên, nên dùng:
FALSE
4. Kéo công thức xuống thì kết quả sai
Nguyên nhân thường do chưa cố định vùng dữ liệu bằng $.
5. Dữ liệu nhìn giống nhau nhưng không tìm thấy
Ví dụ:
00125
và
125
hoặc dữ liệu có khoảng trắng ẩn.
Trong trường hợp này, cần kiểm tra định dạng và làm sạch dữ liệu trước khi tra cứu.
Một cách học VLOOKUP nhanh hơn
Thay vì chỉ học thuộc cú pháp, hãy tạo một file Excel nhỏ gồm:
- 20 sản phẩm.
- Mã sản phẩm.
- Tên sản phẩm.
- Giá.
- Số lượng tồn kho.
Sau đó thử lần lượt:
- Tra tên sản phẩm theo mã.
- Tra giá.
- Tra tồn kho.
- Kéo công thức xuống nhiều hàng.
- Cố tình nhập mã sai.
- Thêm IFERROR.
- Chuyển bảng dữ liệu sang Sheet khác.
- Thử tra cứu gần đúng.
Sau một vài bài tập như vậy, bạn sẽ hiểu VLOOKUP nhanh hơn nhiều so với chỉ đọc công thức.
Kết luận
VLOOKUP không phải hàm Excel phức tạp, nhưng nó là nền tảng rất tốt để học cách tra cứu và xử lý dữ liệu.
Với người mới, chỉ cần nắm chắc ba điều:
Giá trị cần tìm phải nằm ở cột đầu tiên của vùng tra cứu.
Dùng FALSE khi cần tìm chính xác.
Cố định bảng bằng dấu $ khi sao chép công thức.
Khi đã quen với VLOOKUP, bạn có thể tiếp tục học XLOOKUP, INDEX + MATCH, FILTER và các công cụ xử lý dữ liệu nâng cao hơn trong Excel.
