Có thể bạn quan tâm: Cách Sử Dụng Excel Trên Máy Tính: Hướng Dẫn Từ Cơ Bản Đến Nâng Cao
Mở Đầu
Trong môi trường làm việc hiện đại, Excel đã trở thành một trong những công cụ quan trọng nhất để xử lý, phân tích và trình bày dữ liệu. Trong số hàng ngàn hàm mạnh mẽ mà Excel cung cấp, VLOOKUP (viết tắt của “Vertical Lookup”) luôn là một trong những hàm được sử dụng phổ biến nhất. Hàm này cho phép người dùng tìm kiếm giá trị trong một cột và trả về giá trị tương ứng trong các cột khác cùng một bảng. Dù bạn là người mới bắt đầu hay một chuyên gia dữ liệu, việc nắm vững cách sử dụng VLOOKUP sẽ giúp bạn tiết kiệm thời gian, giảm thiểu lỗi và nâng cao hiệu suất công việc.
Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những kiến thức cơ bản nhất về VLOOKUP, cách cấu trúc công thức, các lưu ý quan trọng, cho tới các kỹ thuật nâng cao và các giải pháp thay thế khi VLOOKUP không đáp ứng được nhu cầu. Với độ dài hơn 1500 chữ, bạn sẽ có một tài liệu tham khảo toàn diện để áp dụng VLOOKUP trong mọi tình huống thực tế.
Có thể bạn quan tâm: Hướng Dẫn Nén File Excel: Cách Giảm Dung Lượng, Tối Ưu Hiệu Suất Và Bảo Mật Dữ Liệu
1. VLOOKUP Là Gì? Nguyên Lý Hoạt Động Cơ Bản
1.1. Định Nghĩa
VLOOKUP là một hàm tìm kiếm dọc trong Excel, cho phép bạn tìm một giá trị trong cột đầu tiên của một bảng (hoặc phạm vi) và trả về một giá trị tương ứng từ một cột khác trong cùng bảng. Cú pháp của hàm như sau:
VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
- lookup_value: Giá trị bạn muốn tìm (có thể là một số, văn bản, hoặc một tham chiếu ô).
- table_array: Phạm vi dữ liệu chứa cột tìm kiếm và cột trả về.
- col_index_num: Số thứ tự cột trong table_array mà bạn muốn trả về giá trị (bắt đầu từ 1 cho cột đầu tiên).
- range_lookup (tùy chọn): TRUE (hoặc bỏ qua) cho tìm kiếm gần đúng, FALSE cho tìm kiếm chính xác.
1.2. Nguyên Lý Hoạt Động
Khi bạn nhập công thức VLOOKUP, Excel thực hiện các bước sau:
- Xác định lookup_value: Lấy giá trị cần tìm từ ô hoặc trực tiếp trong công thức.
- Quét cột đầu tiên của table_array: Tìm kiếm giá trị khớp (hoặc gần đúng tùy vào range_lookup).
- Xác định vị trí hàng: Khi tìm thấy, xác định hàng chứa giá trị.
- Lấy giá trị từ cột chỉ định: Dựa trên col_index_num, Excel trả về giá trị trong cùng hàng nhưng ở cột khác.
Nếu không tìm thấy giá trị (khi range_lookup = FALSE) hoặc không có giá trị gần đúng (khi range_lookup = TRUE), hàm sẽ trả về lỗi #N/A.
Có thể bạn quan tâm: Hướng Dẫn Tạo Bảng Trong Excel: Từ Cơ Bản Đến Nâng Cao
2. Cấu Trúc Công Thức VLOOKUP Cơ Bản
2.1. Ví Dụ Thực Tế
Giả sử bạn có bảng dữ liệu Danh sách sản phẩm như sau (A1:C6):
| Mã SP | Tên SP | Giá (USD) |
|---|---|---|
| P001 | Bút bi | 1.20 |
| P002 | Sổ tay | 2.50 |
| P003 | Thước kẻ | 0.80 |
| P004 | Gôm | 0.60 |
| P005 | Bìa tài liệu | 3.00 |
Bạn muốn tìm giá của sản phẩm có mã P003. Công thức VLOOKUP sẽ là:
=VLOOKUP("P003"; A2:C6; 3; FALSE)
Giải thích:
"P003"là lookup_value.A2:C6là table_array (cột A là cột tìm kiếm).3là col_index_num (cột giá là cột thứ 3 trong phạm vi).FALSEyêu cầu tìm kiếm chính xác.
Kết quả trả về sẽ là 0.80.
2.2. Tham Chiếu Động
Thay vì nhập trực tiếp mã sản phẩm, bạn có thể tham chiếu tới một ô, ví dụ ô E2 chứa mã cần tìm:
=VLOOKUP(E2; A2:C6; 3; FALSE)
Điều này giúp công thức linh hoạt hơn, cho phép người dùng thay đổi giá trị tìm kiếm mà không cần chỉnh sửa công thức.
2.3. Tìm Kiếm Gần Đúng (Approximate Match)
Khi range_lookup để là TRUE hoặc bỏ qua, VLOOKUP sẽ thực hiện tìm kiếm gần đúng. Điều này thường được dùng trong các bảng giá trị thang (price ladder) hoặc bảng thuế. Để hoạt động đúng, cột tìm kiếm phải được sắp xếp tăng dần. Ví dụ:
| Điểm | Học bổng |
|---|---|
| 0 | 0% |
| 50 | 10% |
| 70 | 20% |
| 85 | 30% |
Nếu điểm của sinh viên là 78, công thức:
=VLOOKUP(78; A2:B5; 2; TRUE)
sẽ trả về 20%, vì 78 nằm giữa 70 và 85, và Excel sẽ trả về giá trị tương ứng với giá trị lớn nhất không vượt quá lookup_value.
3. Các Lưu Ý Quan Trọng Khi Sử Dụng VLOOKUP
3.1. Cột Tìm Kiếm Phải Ở Trước
VLOOKUP luôn tìm kiếm trong cột đầu tiên của table_array. Nếu cột chứa giá trị cần tìm không phải là cột đầu tiên, bạn phải:
- Thay đổi vị trí cột trong bảng (sắp xếp lại dữ liệu).
- Sử dụng hàm INDEX + MATCH (phương pháp thay thế mạnh mẽ hơn, sẽ được đề cập sau).
3.2. Đảm Bảo Không Có Dòng Trùng Lặp
Nếu cột tìm kiếm chứa các giá trị trùng lặp, VLOOKUP sẽ trả về giá trị đầu tiên mà nó gặp. Điều này có thể dẫn đến kết quả không mong muốn. Để tránh:
- Kiểm tra và loại bỏ trùng lặp.
- Sử dụng công cụ Remove Duplicates trong Excel.
- Hoặc sử dụng hàm XLOOKUP (phiên bản mới hơn) cho phép tùy chọn trả về nhiều kết quả.
3.3. Xử Lý Lỗi #N/A
Khi không tìm thấy giá trị, VLOOKUP trả về #N/A. Để hiển thị thông báo thân thiện hoặc giá trị mặc định, bạn có thể kết hợp với hàm IFERROR hoặc IFNA:
=IFERROR(VLOOKUP(E2; A2:C6; 3; FALSE); "Không tìm thấy")
Hoặc:
=IFNA(VLOOKUP(E2; A2:C6; 3; FALSE); "Không có dữ liệu")
3.4. Định Dạng Dữ Liệu Phù Hợp
- Văn bản vs Số: Nếu lookup_value là văn bản, cột tìm kiếm cũng phải là văn bản. Khi có số được lưu dưới dạng văn bản (hoặc ngược lại), VLOOKUP sẽ không khớp. Dùng hàm TEXT, VALUE, hoặc TRIM để chuẩn hoá.
- Khoảng trắng thừa: Sử dụng hàm TRIM để loại bỏ khoảng trắng đầu/cuối.
3.5. Độ Chính Xác Khi Dùng TRUE
Khi range_lookup = TRUE, Excel yêu cầu cột tìm kiếm được sắp xếp tăng dần. Nếu không sắp xếp, kết quả có thể sai. Ngoài ra, Excel sẽ trả về giá trị gần nhất không lớn hơn lookup_value. Nếu lookup_value nhỏ hơn giá trị đầu tiên, hàm sẽ trả về #N/A.
4. Các Ứng Dụng Thực Tiễn Của VLOOKUP
4.1. Kết Hợp Hai Bảng Dữ Liệu
Bạn có hai bảng:
- Bảng A (đơn hàng): Mã KH, Tên KH, Số lượng.
- Bảng B (khách hàng): Mã KH, Địa chỉ, Điện thoại.
Bạn muốn bổ sung địa chỉ và điện thoại vào Bảng A dựa trên Mã KH. Công thức VLOOKUP trong cột Địa chỉ của Bảng A (ô D2) sẽ là:
=VLOOKUP(A2; $F$2:$H$100; 2; FALSE)
Trong đó $F$2:$H$100 là phạm vi của Bảng B, cột 2 là Địa chỉ. Kéo công thức xuống để áp dụng cho các dòng còn lại.
4.2. Tính Tổng Giá Trị Dựa Trên Mã Sản Phẩm

Có thể bạn quan tâm: Học Excel Ở Đâu Tp.hcm: Địa Chỉ Uy Tín, Phương Pháp Hiệu Quả Và Lộ Trình Nâng Cao Kỹ Năng
Giả sử bạn có phiếu nhập kho với cột Mã SP và Số lượng. Bạn muốn tính tổng giá trị nhập (số lượng × giá). Đầu tiên, dùng VLOOKUP để lấy giá:
=VLOOKUP(B2; $A$2:$C$100; 3; FALSE) // B2 là Mã SP
Sau đó, nhân với số lượng:
=VLOOKUP(B2; $A$2:$C$100; 3; FALSE) C2 // C2 là Số lượng
Bạn có thể sao chép công thức này vào cột Giá trị và sau đó dùng SUM để tính tổng.
4.3. Kiểm Tra Dữ Liệu Trùng Lặp
Bạn có một danh sách khách hàng cũ và muốn kiểm tra xem khách hàng mới có tồn tại trong danh sách cũ không. Sử dụng VLOOKUP với IFERROR:
=IFERROR(VLOOKUP(E2; $A$2:$A$200; 1; FALSE); "Mới")
Nếu hàm trả về lỗi, nghĩa là khách hàng không tồn tại trong danh sách cũ, và bạn sẽ nhận được “Mới”.
4.4. Tạo Báo Cáo Tự Động
Trong báo cáo bán hàng, bạn muốn tự động cập nhật tổng doanh thu cho từng tháng dựa trên dữ liệu giao dịch. Bạn có thể tạo một bảng tóm tắt với các tháng và sử dụng VLOOKUP kết hợp SUMIF để lấy tổng:
=SUMIF($B$2:$B$500; G2; $D$2:$D$500) // B là cột tháng, D là cột doanh thu, G2 là tháng cần tính
Mặc dù đây là hàm SUMIF, nhưng khi cần lấy các thông tin phụ trợ (ví dụ tên nhân viên, khu vực), VLOOKUP sẽ hỗ trợ rất tốt.
5. VLOOKUP Nâng Cao: Kỹ Thuật Và Mẹo Thông Minh
5.1. Sử Dụng VLOOKUP Với Định Dạng Bảng (Table)
Khi bạn chuyển dữ liệu thành Table (Insert > Table hoặc Ctrl+T), bạn có thể sử dụng tên bảng trong công thức, giúp công thức linh hoạt hơn khi thêm hoặc xóa dòng.
Giả sử bảng dữ liệu được đặt tên là tblProducts với các cột MãSP, TênSP, Giá. Công thức:
=VLOOKUP(E2; tblProducts; 3; FALSE)
Nếu bạn thêm sản phẩm mới vào bảng, công thức vẫn hoạt động mà không cần điều chỉnh phạm vi.
5.2. Kết Hợp Với Hàm MATCH Để Tự Động Xác Định col_index_num
Thay vì cố định col_index_num, bạn có thể dùng MATCH để tìm vị trí cột dựa trên tiêu đề:
=VLOOKUP(E2; $A$1:$D$100; MATCH("Giá"; $A$1:$D$1; 0); FALSE)
MATCH("Giá"; $A$1:$D$1; 0)trả về số thứ tự cột chứa tiêu đề “Giá”. Nhờ đó, nếu bạn thay đổi vị trí cột, công thức vẫn đúng.
5.3. Tìm Kiếm Nhiều Điều Kiện Với VLOOKUP Kết Hợp CONCATENATE
VLOOKUP chỉ hỗ trợ tìm kiếm một giá trị duy nhất. Khi cần tìm kiếm dựa trên nhiều tiêu chí, một cách thường dùng là tạo một cột “khóa” (key) bằng cách ghép các trường lại.
Giả sử bạn muốn tìm giá dựa trên Mã SP và Ngày bán. Trong bảng dữ liệu, tạo cột Key:
= A2 & "|" & TEXT(B2;"yyyy-mm-dd")
Sau đó, trong công thức VLOOKUP:
=VLOOKUP(E2 & "|" & TEXT(F2;"yyyy-mm-dd"); $G$2:$I$500; 3; FALSE)
- E2 là Mã SP, F2 là Ngày bán.
5.4. Tối Ưu Hóa Hiệu Suất Khi Dùng VLOOKUP Trên Dữ Liệu Lớn
Khi bảng dữ liệu lên tới hàng chục ngàn hoặc hơn, VLOOKUP có thể làm chậm workbook. Một số cách tối ưu:
- Sử dụng Table hoặc Named Range: Giúp Excel tính toán nhanh hơn.
- Giảm phạm vi tìm kiếm: Chỉ chọn đúng cột và hàng cần thiết, không để toàn bộ cột (A:Z).
- Tắt tính năng tính toán tự động trong quá trình nhập công thức (Formulas > Calculation Options > Manual), sau đó bấm F9 để tính lại.
- Sử dụng XLOOKUP (Excel 365/2026 trở lên) – được tối ưu tốt hơn VLOOKUP.
5.5. XLOOKUP – Thay Thế Hiện Đại Cho VLOOKUP
Nếu bạn đang dùng Excel 365 hoặc Excel 2026, XLOOKUP là hàm thay thế mạnh mẽ, không còn giới hạn cột tìm kiếm, hỗ trợ trả về mảng, và có các tham số lỗi thân thiện hơn.
Cú pháp:
XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
Ví dụ:
=XLOOKUP(E2; A2:A100; C2:C100; "Không tìm thấy"; 0; 1)
0là match_mode = exact match.1là search_mode = tìm kiếm từ đầu xuống.
Mặc dù XLOOKUP mạnh hơn, VLOOKUP vẫn được sử dụng rộng rãi vì tính tương thích ngược và kiến thức cơ bản.
6. Bài Tập Thực Hành: Áp Dụng VLOOKUP Trong Đời Sống
Bài 1: Tạo Báo Cáo Bán Hàng
Bạn có file Sales.xlsx chứa:
- Sheet1: Danh sách đơn hàng (Mã SP, Số lượng, Ngày).
- Sheet2: Bảng giá (Mã SP, Tên SP, Giá).
Yêu cầu: Thêm cột Giá, Thành Tiền vào Sheet1 và tính tổng doanh thu.
Bước thực hiện:
- Mở Sheet1, ở cột D (Giá) nhập công thức:
=VLOOKUP(A2; Sheet2!$A$2:$C$200; 3; FALSE)
- Ở cột E (Thành Tiền) nhập:
=D2 B2
- Kéo công thức xuống hết danh sách.
- Tính tổng doanh thu ở ô E100:
=SUM(E2:E99)
Bài 2: Kiểm Tra Nhân Viên Được Phép Làm Thêm Giờ
Bạn có bảng Schedule (Tên, Ngày, Ca) và bảng OvertimePolicy (Tên, Giới hạn giờ). Hãy kiểm tra mỗi lần lập lịch xem nhân viên có vượt mức cho phép không.
Công thức (ô D2 – “Cảnh báo”):
=IF(VLOOKUP(A2; OverTimePolicy!$A$2:$B$50; 2; FALSE) < C2; "Vượt giới hạn"; "OK")
Kéo xuống để áp dụng cho toàn bộ.
Bài 3: Ghép Nhiều Tiêu Chí
Bạn có bảng Orders (Mã KH, Mã SP, Ngày), và bảng Pricing (Mã KH, Mã SP, Giá). Hãy trả về giá cho mỗi đơn hàng.
- Tạo cột Key trong Pricing (ô D2):
=A2 & "|" & B2
- Tạo cột Key trong Orders (ô D2):
=A2 & "|" & B2
- Ở cột E (Giá) của Orders nhập:
excel =VLOOKUP(D2; Pricing!$D$2:$E$500; 2; FALSE)
7. Thông Tin Thêm: Khi Nào Không Nên Dùng VLOOKUP?
| Trường Hợp | Lý Do | Giải Pháp Thay Thế |
|---|---|---|
| Cột tìm kiếm không phải là cột đầu tiên | VLOOKUP chỉ tìm ở cột đầu tiên | Sử dụng INDEX + MATCH hoặc XLOOKUP |
| Cần trả về nhiều kết quả cho cùng một lookup_value | VLOOKUP trả về giá trị đầu tiên | Dùng FILTER (Excel 365) hoặc Power Query |
| Dữ liệu lớn, hiệu suất chậm | VLOOKUP tính toán chậm | XLOOKUP, Power Pivot, hoặc SQL trong Power Query |
| Cần xử lý lỗi và trả về mặc định tùy chỉnh | VLOOKUP trả về #N/A | Kết hợp IFERROR/IFNA hoặc XLOOKUP với if_not_found |
8. Kết Luận
Hàm VLOOKUP là một công cụ không thể thiếu trong kho vũ khí của người dùng Excel. Từ việc tìm kiếm đơn giản cho tới kết hợp dữ liệu đa bảng, VLOOKUP giúp bạn tự động hoá quy trình, giảm thiểu lỗi nhập liệu và tăng năng suất làm việc. Tuy nhiên, để khai thác tối đa tiềm năng, bạn cần nắm vững các nguyên tắc cơ bản, lưu ý những hạn chế và biết cách kết hợp VLOOKUP với các hàm khác như IFERROR, MATCH, INDEX, hoặc chuyển sang các hàm hiện đại hơn như XLOOKUP và FILTER khi cần.
Hãy thực hành các ví dụ trên, tự tạo các bài tập thực tế trong công việc hàng ngày và dần dần bạn sẽ trở thành “bậc thầy” VLOOKUP, sẵn sàng giải quyết mọi thách thức dữ liệu. Chúc bạn thành công và luôn khám phá được những cách mới để tối ưu hoá công việc trong Excel!

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ẻ.
