Công Thức Hàm Vlookup 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àmKiểu tra cứuTìm kiếm theo chiều dọcTìm kiếm theo chiều ngangHỗ trợ đa tiêu chí
VLOOKUPDọc✅❌❌
HLOOKUPNgang❌✅❌
INDEX + MATCHDọ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ớ.

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_value và 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_array mà bạn muốn trả về kết quả (bắt đầu từ 1 cho cột đầu tiên của table_array).
  • range_lookup (tùy chọn): TRUE (mặc định) cho tìm kiếm gần đúng; FALSE cho 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á)
101Bút12,000
102Sổ25,000
103Vở18,500
104Bìa5,000
105Thước7,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.

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_lookup là 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. Khi range_lookup là 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_array phả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ư OFFSET hoặc INDEX.

3.3. col_index_num

  • Là chỉ số cột từ trái sang phải trong table_array. Ví dụ, nếu table_array là B2:E100, col_index_num = 1 trả về cột B, col_index_num = 4 trả về cột E.
  • Nếu col_index_num vượt quá số cột trong table_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ỗiNguyên nhânCách khắc phục
#N/AKhô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 = TRUECộ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ông Thức Hàm Vlookup Trong Excel
Công Thức Hàm Vlookup Trong Excel
=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)
K001An1015
K002Bình1032
K001An1053
…………

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/A bằ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ãSP là 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:

  1. Cú pháp và ý nghĩa từng đối số.
  2. 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).
  3. Xử lý lỗi thông minh bằng IFERROR, TRIM, CLEAN.
  4. 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!

⚠️
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