Sử Dụng Hàm Vlookup Trong Excel: Hướng Dẫn Chi Tiết 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ế.

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:

  1. 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.
  2. 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).
  3. Xác định vị trí hàng: Khi tìm thấy, xác định hàng chứa giá trị.
  4. 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.

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ã SPTên SPGiá (USD)
P001Bút bi1.20
P002Sổ tay2.50
P003Thước kẻ0.80
P004Gôm0.60
P005Bìa tài liệu3.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:C6 là table_array (cột A là cột tìm kiếm).
  • 3 là col_index_num (cột giá là cột thứ 3 trong phạm vi).
  • FALSE yê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ểmHọc bổng
00%
5010%
7020%
8530%

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

Sử Dụng Hàm Vlookup Trong Excel
Sử Dụng Hàm Vlookup Trong Excel

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:

  1. Sử dụng Table hoặc Named Range: Giúp Excel tính toán nhanh hơn.
  2. 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).
  3. 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.
  4. 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)
  • 0 là match_mode = exact match.
  • 1 là 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:

  1. Mở Sheet1, ở cột D (Giá) nhập công thức:

=VLOOKUP(A2; Sheet2!$A$2:$C$200; 3; FALSE)

  1. Ở cột E (Thành Tiền) nhập:

=D2 B2

  1. Kéo công thức xuống hết danh sách.
  2. 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.

  1. Tạo cột Key trong Pricing (ô D2):

=A2 & "|" & B2

  1. Tạo cột Key trong Orders (ô D2):

=A2 & "|" & B2

  1. Ở 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ợpLý DoGiải Pháp Thay Thế
Cột tìm kiếm không phải là cột đầu tiênVLOOKUP chỉ tìm ở cột đầu tiênSử dụng INDEX + MATCH hoặc XLOOKUP
Cần trả về nhiều kết quả cho cùng một lookup_valueVLOOKUP trả về giá trị đầu tiênDùng FILTER (Excel 365) hoặc Power Query
Dữ liệu lớn, hiệu suất chậmVLOOKUP tính toán chậmXLOOKUP, Power Pivot, hoặc SQL trong Power Query
Cần xử lý lỗi và trả về mặc định tùy chỉnhVLOOKUP trả về #N/AKế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!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận