Có thể bạn quan tâm: Cách Xoay Chữ Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Giới thiệu tổng quan về hàm VLOOKUP
Hàm VLOOKUP (Vertical Lookup) là một trong những hàm tìm kiếm và tra cứu dữ liệu phổ biến nhất trong Microsoft Excel. Khi bạn làm việc với các bảng dữ liệu lớn, việc tìm kiếm nhanh chóng một giá trị trong một cột và trả về thông tin liên quan từ các cột khác là một nhu cầu thường gặp. VLOOKUP cho phép thực hiện công việc này một cách tự động, giảm thiểu sai sót và tiết kiệm thời gian.
1.1. VLOOKUP so với các hàm tìm kiếm khác
| Hàm | Kiểu tra cứu | Tìm kiếm theo chiều dọc | Tìm kiếm theo chiều ngang | Hỗ trợ đa tiêu chí |
|---|---|---|---|---|
| VLOOKUP | Dọc | ✅ | ❌ | ❌ |
| HLOOKUP | Ngang | ❌ | ✅ | ❌ |
| INDEX + MATCH | Dọc/Ngang | ✅ | ✅ | ✅ (kết hợp) |
| XLOOKUP (Excel 365) | Dọc/Ngang | ✅ | ✅ | ✅ |
Mặc dù XLOOKUP và INDEX+MATCH cung cấp tính năng mạnh mẽ hơn, VLOOKUP vẫn là công cụ “đi đầu” cho người mới bắt đầu vì cú pháp đơn giản và dễ nhớ.
Có thể bạn quan tâm: Cách Ngắt Trang Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Cú pháp cơ bản của hàm VLOOKUP
VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
- lookup_value: Giá trị cần tìm (có thể là một số, văn bản, ngày tháng hoặc một ô tham chiếu).
- table_array: Vùng dữ liệu chứa cả cột chứa
lookup_valuevà các cột chứa kết quả trả về. Ví dụ:A2:D100. - col_index_num: Số thứ tự của cột trong
table_arraymà bạn muốn trả về kết quả (bắt đầu từ 1 cho cột đầu tiên củatable_array). - range_lookup (tùy chọn):
TRUE(mặc định) cho tìm kiếm gần đúng;FALSEcho tìm kiếm chính xác.
2.1. Ví dụ thực tế
Giả sử bạn có bảng dữ liệu sau (A1:C6):
| A (Mã SP) | B (Tên SP) | C (Giá) |
|---|---|---|
| 101 | Bút | 12,000 |
| 102 | Sổ | 25,000 |
| 103 | Vở | 18,500 |
| 104 | Bìa | 5,000 |
| 105 | Thước | 7,500 |
Bạn muốn tìm giá của sản phẩm có mã 103. Công thức:
=VLOOKUP(103, A2:C6, 3, FALSE)
Kết quả trả về là 18,500.
Có thể bạn quan tâm: Cách Mở Khóa File Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
3. Chi tiết từng đối số
3.1. lookup_value
- Kiểu dữ liệu: Số, văn bản, ngày tháng, hoặc ô tham chiếu.
- Lưu ý: Khi
range_lookuplàFALSE, giá trị phải đúng khớp hoàn toàn, bao gồm cả ký tự chữ hoa/thường và dấu cách. Khirange_lookuplàTRUE, Excel sẽ tự động sắp xếp cột tìm kiếm (nếu chưa sắp xếp) và thực hiện tìm gần đúng.
3.2. table_array
- Cột đầu tiên của
table_arrayphải chứa giá trịlookup_value. Nếu không, VLOOKUP sẽ trả về lỗi#N/A. - Bạn có thể sử dụng địa chỉ tuyệt đối (
$A$2:$D$100) để cố định vùng khi sao chép công thức. - Khi làm việc với bảng động (thêm hoặc bớt dữ liệu), bạn nên sử dụng định danh bảng (Table) hoặc công thức động như
OFFSEThoặcINDEX.
3.3. col_index_num
- Là chỉ số cột từ trái sang phải trong
table_array. Ví dụ, nếutable_arraylàB2:E100,col_index_num = 1trả về cột B,col_index_num = 4trả về cột E. - Nếu
col_index_numvượt quá số cột trongtable_array, Excel sẽ trả về lỗi#REF!.
3.4. range_lookup
- TRUE (hoặc bỏ qua): Tìm kiếm gần đúng. Cột tìm kiếm phải được sắp xếp tăng dần; nếu không, kết quả có thể sai.
- FALSE: Tìm kiếm chính xác. Không yêu cầu sắp xếp, nhưng nếu không tìm thấy giá trị, trả về
#N/A.
4. Các lỗi thường gặp và cách khắc phục
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
#N/A | Không tìm thấy lookup_value trong cột đầu tiên hoặc không có khớp chính xác khi range_lookup = FALSE. | Kiểm tra dữ liệu, loại bỏ khoảng trắng thừa, đồng nhất kiểu dữ liệu (số vs văn bản). |
#REF! | col_index_num lớn hơn số cột trong table_array. | Đảm bảo col_index_num nằm trong phạm vi hợp lệ. |
#VALUE! | Tham số col_index_num không phải là số hoặc lookup_value sai kiểu. | Kiểm tra lại các đối số, chuyển đổi kiểu dữ liệu nếu cần. |
#NAME? | Tên hàm viết sai hoặc Excel không nhận dạng hàm (phiên bản không hỗ trợ). | Kiểm tra chính tả, dùng phiên bản Excel hỗ trợ VLOOKUP. |
Kết quả sai khi range_lookup = TRUE | Cột tìm kiếm không được sắp xếp tăng dần. | Sắp xếp cột hoặc đổi range_lookup thành FALSE. |
4.1. Xử lý khoảng trắng và ký tự không hiển thị
Khi dữ liệu được nhập từ nguồn khác (CSV, cơ sở dữ liệu), có thể có khoảng trắng thừa hoặc ký tự không hiển thị. Sử dụng hàm TRIM và CLEAN để làm sạch:
=VLOOKUP(TRIM(A2), $B$2:$D$100, 3, FALSE)
4.2. Đối phó với dữ liệu dạng số được lưu dưới dạng văn bản
Nếu cột mã sản phẩm là số nhưng được lưu dưới dạng văn bản, VLOOKUP có thể không khớp. Dùng VALUE hoặc TEXT để chuyển đổi:

Có thể bạn quan tâm: Hàm Nhân 2 Cột Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao
=VLOOKUP(VALUE(A2), $B$2:$D$100, 3, FALSE)
5. Ứng dụng thực tế của VLOOKUP
5.1. Tổng hợp doanh thu theo khách hàng
Giả sử bảng Đơn hàng (A2:D100) gồm:
| A (Mã KH) | B (Tên KH) | C (Mã SP) | D (Số lượng) |
|---|---|---|---|
| K001 | An | 101 | 5 |
| K002 | Bình | 103 | 2 |
| K001 | An | 105 | 3 |
| … | … | … | … |
Và bảng Giá SP (F2:H10) có Mã SP và Giá. Để tính Doanh thu cho mỗi dòng trong bảng Đơn hàng, ta dùng:
=VLOOKUP(C2, $F$2:$G$10, 2, FALSE) D2
Kéo công thức xuống toàn bộ cột.
5.2. Kiểm tra dữ liệu trùng lặp
Bạn có danh sách Nhân viên trong Sheet1 và Danh sách đã duyệt trong Sheet2. Để đánh dấu những nhân viên đã duyệt:
=IF(ISNA(VLOOKUP(A2, Sheet2!$A$2:$A$200, 1, FALSE)), "Chưa duyệt", "Đã duyệt")
5.3. Kết hợp VLOOKUP với các hàm khác
- IFERROR: Tránh hiện
#N/Abằng cách trả về thông báo tùy chỉnh.
=IFERROR(VLOOKUP(A2, $B$2:$D$100, 3, FALSE), "Không có dữ liệu")
- CONCATENATE: Khi cần tra cứu dựa trên nhiều cột, tạo một cột khóa kết hợp.
=VLOOKUP(A2&B2, $E$2:$G$200, 3, FALSE)
Trong trường hợp này, cột E chứa giá trị =A&B (kết hợp hai cột).
6. VLOOKUP trong môi trường bảng động (Dynamic Tables)
Excel 365/2026 hỗ trợ Table (định danh bảng). Khi bạn biến vùng dữ liệu thành một Table (Ctrl+T), công thức VLOOKUP có thể sử dụng tên bảng để tự động mở rộng khi thêm dòng.
=VLOOKUP(@MãSP, BảngGiá@MãSP:Giá, 2, FALSE)
@MãSPlà giá trị trong cùng dòng.BảngGiá@MãSP:Giálà vùng dữ liệu của Table, tự động mở rộng.
7. Khi nào nên tránh dùng VLOOKUP?
- Cần tra cứu từ phải sang trái: VLOOKUP chỉ tìm kiếm từ cột đầu tiên sang các cột bên phải. Khi cần tra cứu ngược, dùng INDEX+MATCH hoặc XLOOKUP.
- Nhiều tiêu chí tra cứu: VLOOKUP chỉ hỗ trợ một tiêu chí. Kết hợp các hàm hay chuyển sang Power Query hoặc PivotTable để xử lý phức tạp.
- Hiệu suất trên dữ liệu lớn: VLOOKUP tính toán từng dòng, có thể chậm khi hàng lên tới hàng chục hoặc trăm nghìn. Sử dụng Power Query hoặc Power Pivot để tối ưu.
8. Thay thế VLOOKUP bằng XLOOKUP (Excel 365)
Nếu bạn có Excel 365, XLOOKUP là phiên bản cải tiến:
=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
- Không còn giới hạn tìm kiếm từ trái sang phải.
- Hỗ trợ tìm kiếm ngược, tìm gần đúng, và trả về giá trị mặc định khi không tìm thấy.
- Thông thường, XLOOKUP nhanh hơn và dễ đọc hơn.
9. Bài tập thực hành
Bài 1: Tra cứu giá bán
- Tạo bảng Sản phẩm (A2:C10) với Mã SP, Tên SP, Giá.
- Nhập một mã SP ở ô E2.
- Viết công thức VLOOKUP để hiển thị Giá tại ô F2.
Bài 2: Kiểm tra tồn kho
- Bảng Kho (A2:B20) chứa Mã SP và Số lượng tồn.
- Bảng Đặt hàng (D2:E10) chứa Mã SP và Số lượng đặt.
- Tại cột F, dùng VLOOKUP để lấy số lượng tồn và so sánh với số đặt, trả về “Còn đủ” hoặc “Thiếu”.
Bài 3: Tổng doanh thu theo khách hàng
- Bảng Đơn hàng (A2:D30) chứa Mã KH, Tên KH, Mã SP, Số lượng.
- Bảng Giá SP (F2:G15) chứa Mã SP và Giá.
- Thêm cột Doanh thu trong Đơn hàng, tính bằng
VLOOKUP(Mã SP, Giá SP, 2, FALSE) Số lượng. - Dùng PivotTable để tổng hợp doanh thu theo Tên KH.
10. Kết luận
Hàm VLOOKUP là một công cụ mạnh mẽ và thiết yếu cho mọi người dùng Excel, đặc biệt là trong các công việc liên quan tới quản lý dữ liệu, báo cáo, và phân tích. Dù đã có những hàm mới hơn như XLOOKUP và INDEX+MATCH, VLOOKUP vẫn giữ vị trí quan trọng nhờ tính đơn giản và khả năng tương thích rộng rãi.
Bạn chỉ cần nắm vững:
- Cú pháp và ý nghĩa từng đối số.
- Cách chuẩn bị dữ liệu (cột tìm kiếm ở vị trí đầu, dữ liệu sạch, sắp xếp khi cần).
- Xử lý lỗi thông minh bằng IFERROR, TRIM, CLEAN.
- Kết hợp với các hàm khác để mở rộng khả năng (IF, CONCATENATE, INDEX+MATCH).
Khi đã thành thạo VLOOKUP, bạn sẽ nhanh chóng khám phá được tiềm năng vô hạn của Excel trong việc tự động hoá công việc và đưa ra quyết định dựa trên dữ liệu chính xác. Hãy thực hành qua các ví dụ thực tế, áp dụng vào công việc hàng ngày và dần dần chuyển sang các hàm nâng cao hơn khi nhu cầu phức tạp hơn. Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
