Cách 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 thế giới làm việc với dữ liệu, Excel luôn là công cụ không thể thiếu đối với nhiều ngành nghề – từ kế toán, tài chính, marketing cho tới quản lý dự án. Trong số hàng trăm hàm có sẵn trong Excel, VLOOKUP (viết tắt của “Vertical Lookup”) là một trong những hàm được sử dụng phổ biến nhất để tra cứu và trích xuất dữ liệu từ một bảng khác. Tuy nhiên, dù hàm này rất mạnh mẽ, nhiều người dùng vẫn gặp khó khăn trong việc áp dụng đúng cách, đặc biệt là khi dữ liệu phức tạp hoặc khi cần thực hiện các thao tác nâng cao.

Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, từng bước một, giúp bạn không chỉ nắm vững cách sử dụng VLOOKUP cơ bản mà còn khám phá các kỹ thuật nâng cao, các lưu ý quan trọng, và so sánh với các hàm tương tự như XLOOKUP, INDEX-MATCH. Bạn sẽ học được:

  1. Cấu trúc và cú pháp của hàm VLOOKUP.
  2. Các trường hợp sử dụng thực tiễn (ví dụ: hợp nhất dữ liệu khách hàng, tạo báo cáo bán hàng, kiểm tra trùng lặp).
  3. Các lỗi thường gặp và cách khắc phục.
  4. Mẹo tối ưu hiệu suất khi làm việc với dữ liệu lớn.
  5. Khi nào nên chuyển sang XLOOKUP hoặc INDEX-MATCH để đạt hiệu quả tốt hơn.

Hãy cùng bắt đầu khám phá và biến VLOOKUP thành “cây bút phép” trong tay bạn!

1. Hiểu Rõ Cú Pháp Của Hàm VLOOKUP

1.1. Cú pháp cơ bản

VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
  • lookup_value: Giá trị bạn muốn tìm kiếm. Có thể là một ô chứa dữ liệu (ví dụ: A2) hoặc một giá trị cố định (ví dụ: “Apple”).
  • table_array: Vùng dữ liệu mà bạn sẽ tra cứu. Phải bao gồm cột chứa lookup_value ở vị trí đầu tiên (cột trái nhất) và các cột chứa dữ liệu trả về.
  • col_index_num: Số thứ tự của cột trong table_array mà bạn muốn trả về kết quả. Đánh số bắt đầu từ 1 (cột đầu tiên của table_array).
  • range_lookup (tùy chọn): TRUE (hoặc bỏ trống) cho tìm kiếm tương đối (khoảng), FALSE cho tìm kiếm chính xác. Hầu hết các trường hợp thực tế nên dùng FALSE để tránh lỗi.

1.2. Ví dụ minh hoạ

Giả sử chúng ta có bảng Sản phẩm (cột A: Mã SP, cột B: Tên SP, cột C: Giá):

A (Mã SP)B (Tên SP)C (Giá)
P001Bút bi2,500
P002Sổ ghi chép12,000
P003Thước kẻ3,000

Nếu muốn tìm giá của sản phẩm có mã P002, công thức sẽ là:

=VLOOKUP("P002", A2:C4, 3, FALSE)

Kết quả trả về 12,000.

2. Các Bước Thực Hiện VLOOKUP Trong Thực Tế

2.1. Xác định dữ liệu nguồn và dữ liệu mục tiêu

  • Dữ liệu nguồn: Bảng chứa thông tin đầy đủ (ví dụ: danh sách khách hàng, sản phẩm, nhân viên).
  • Dữ liệu mục tiêu: Bảng bạn muốn bổ sung thông tin (ví dụ: bảng order cần thêm tên khách hàng dựa trên mã KH).

2.2. Đảm bảo cột khóa (key column) ở vị trí đầu tiên

VLOOKUP luôn tìm kiếm lookup_value ở cột đầu tiên của table_array. Nếu cột khóa không phải là cột đầu tiên, bạn có thể:

  • Sắp xếp lại bảng (cắt và dán) để đưa cột khóa lên đầu.
  • Sử dụng hàm CHOOSE để tái cấu trúc vùng dữ liệu tạm thời:
    =VLOOKUP(A2, CHOOSE({1,2}, B2:B100, C2:C100), 2, FALSE)
    (Ở đây, CHOOSE tạo một mảng mới trong đó cột B trở thành cột 1, cột C là cột 2.)

2.3. Thiết lập công thức

  • Nhập công thức VLOOKUP vào ô mục tiêu đầu tiên.
  • Kéo công thức xuống (drag) để áp dụng cho các dòng còn lại.
  • Kiểm tra định dạng kết quả (số, ngày, văn bản) để tránh lỗi hiển thị.

2.4. Kiểm tra kết quả và xử lý lỗi

  • Nếu công thức trả về #N/A, nghĩa là không tìm thấy giá trị khớp.
  • Kiểm tra xem có lỗi chính tả, khoảng trắng thừa, hoặc định dạng (số dạng text vs number).
  • Sử dụng hàm TRIM, CLEAN, VALUE để làm sạch dữ liệu.
  • Nếu trả về #REF!, thường do col_index_num vượt quá số cột trong table_array.
  • Nếu trả về #VALUE!, có thể do lookup_value là một mảng hoặc range_lookup không hợp lệ.

3. Ứng Dụng Thực Tế Của VLOOKUP

3.1. Hợp Nhất Dữ Liệu Khách Hàng

Kịch bản: Bạn có hai bảng – Bảng A chứa danh sách đơn hàng (cột A: Mã KH, cột B: Số Lượng), Bảng B chứa thông tin khách hàng (cột A: Mã KH, cột B: Tên KH, cột C: Địa chỉ). Bạn muốn trong Bảng A hiển thị tên và địa chỉ khách hàng.

Công thức:

  • Tên KH (ô C2):
    =VLOOKUP(A2, Sheet2!$A$2:$C$500, 2, FALSE)
  • Địa chỉ (ô D2):
    =VLOOKUP(A2, Sheet2!$A$2:$C$500, 3, FALSE)

Kéo công thức xuống để tự động điền cho toàn bộ danh sách đơn hàng.

3.2. Kiểm Tra Trùng Lặp Dữ Liệu

Bạn có danh sách nhân viên mới và muốn kiểm tra xem họ đã tồn tại trong hệ thống chưa.

=IF(ISNA(VLOOKUP(A2, ExistingEmployees!$A$2:$A$1000, 1, FALSE)), "Mới", "Đã có")

Kết quả sẽ cho biết “Mới” hoặc “Đã có” cho mỗi nhân viên.

3.3. Tính Tổng Giá Trị Bán Hàng Theo Mã Sản Phẩm

Giả sử bảng Sales (cột A: Mã SP, cột B: Số Lượng) và bảng Products (cột A: Mã SP, cột B: Giá). Bạn muốn tính tổng doanh thu cho mỗi dòng bán hàng.

=VLOOKUP(A2, Products!$A$2:$B$200, 2, FALSE) B2

Sau đó, dùng SUM hoặc PivotTable để tổng hợp.

4. Xử Lý Các Lỗi Thường Gặp

LỗiNguyên nhânCách khắc phục
#N/AKhông có khớp, khoảng trắng thừa, định dạng không giống nhauDùng TRIM, CLEAN, VALUE; kiểm tra dữ liệu nguồn; dùng IFERROR để ẩn lỗi
#REF!col_index_num quá lớn hoặc bảng đã bị xóa/di chuyểnKiểm tra lại số cột; sử dụng tên vùng (named range) để cố định vùng
#VALUE!Tham số không hợp lệ (ví dụ: range_lookup không phải TRUE/FALSE)Đảm bảo cú pháp đúng; chuyển TRUE/FALSE sang 0/1 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 cũ)Kiểm tra chính tả; đảm bảo Excel hỗ trợ VLOOKUP (có từ Excel 2000)

Kỹ thuật ẩn lỗi: Sử dụng IFERROR hoặc IFNA để trả về giá trị mặc định thay vì hiển thị lỗi.

=IFERROR(VLOOKUP(A2, Table!$A$2:$D$500, 4, FALSE), "Không có dữ liệu")

5. Tối Ưu Hiệu Suất Khi Dữ Liệu Lớn

5.1. Sử Dụng Định Dạng Bảng (Excel Table)

Cách Sử Dụng Hàm Vlookup Trong Excel
Cách Sử Dụng Hàm Vlookup Trong Excel

Khi biến dải dữ liệu thành Table (Ctrl + T), bạn có thể:

  • Tránh lỗi khi thêm/xóa hàng (địa chỉ tự động mở rộng).
  • Sử dụng tên bảng trong công thức:
    =VLOOKUP(A2, ProductsTable, 3, FALSE)

5.2. Giảm Phạm Vi Tìm Kiếm

Thay vì dùng toàn bộ cột (A:B), hãy giới hạn phạm vi chính xác (A2:B1000). Điều này giảm thời gian tính toán đáng kể.

5.3. Tránh Sử Dụng VLOOKUP Trong Các Công Thức Mảng (Array Formula)

Nếu có thể, tách ra các công thức VLOOKUP riêng lẻ thay vì lồng trong các công thức mảng phức tạp, giúp Excel tính toán nhanh hơn.

5.4. Tận Dụng Tính Năng Calculation Options

  • Vào Formulas > Calculation Options > Manual khi làm việc với bảng lớn.
  • Khi hoàn thành, nhấn F9 để tính toán lại.

5.5. Sử Dụng XLOOKUP hoặc INDEX-MATCH Khi Cần

  • XLOOKUP (Excel 365/2026 trở lên) hỗ trợ tìm kiếm cả từ trái sang phải và phải sang trái, không cần cột đầu tiên.
  • INDEX-MATCH thường nhanh hơn VLOOKUP trong các bảng cực lớn vì không cần duyệt toàn bộ cột.

6. So Sánh VLOOKUP, XLOOKUP và INDEX-MATCH

Tiêu chíVLOOKUPXLOOKUPINDEX-MATCH
Tìm kiếmChỉ từ trái sang phảiCả trái → phải và phải → tráiCả hai chiều (kết hợp)
Cột khóaPhải ở cột đầu tiênKhông yêu cầuKhông yêu cầu
Khả năng trả về nhiều cộtCần lặp lại công thức cho mỗi cộtCó thể trả về mảng (spill)Cần kết hợp nhiều công thức
Xử lý lỗiCần IFERROR/IFNACó tham số if_not_foundCần IFERROR/IFNA
Hiệu suấtChậm hơn trong bảng lớnTối ưu hơn, đặc biệt với dữ liệu lớnThường nhanh hơn VLOOKUP
Độ tương thíchTất cả phiên bản ExcelExcel 365, 2026 trở lênTất cả phiên bản Excel

Khi nào nên dùng VLOOKUP?
– Khi làm việc trên phiên bản Excel cũ không hỗ trợ XLOOKUP.
– Khi dữ liệu không quá lớn và cột khóa đã ở vị trí đầu tiên.

Khi nào chuyển sang XLOOKUP?
– Khi cần tìm kiếm ngược (right‑to‑left).
– Khi muốn trả về nhiều giá trị trong một công thức duy nhất.

Khi nào dùng INDEX-MATCH?
– Khi muốn tối ưu tốc độ trên bảng hàng chục hoặc trăm nghìn dòng.
– Khi cần độ linh hoạt cao (ví dụ: tìm kiếm dựa trên nhiều tiêu chí).

7. Thực Hành: Bài Tập Tự Làm

Bài 1: Tra cứu giá bán

Bạn có bảng Giá Bán (cột A: Mã SP, cột B: Giá) và bảng Đơn Hàng (cột A: Mã SP, cột B: Số Lượng). Tạo cột Thành Tiền trong Đơn Hàng bằng cách sử dụng VLOOKUP.

Giải pháp:

=VLOOKUP(A2, Prices!$A$2:$B$500, 2, FALSE) B2

Bài 2: Kiểm tra khách hàng mới

Trong Sheet1, cột A chứa danh sách mã KH mới. Trong Sheet2, cột A chứa danh sách mã KH đã có. Đánh dấu “Mới” hoặc “Đã có”.

Giải pháp:

=IF(ISNA(VLOOKUP(A2, Sheet2!$A$2:$A$1000, 1, FALSE)), "Mới", "Đã có")

Bài 3: Trả về nhiều cột cùng lúc (Excel 365)

Sử dụng XLOOKUP để trả về Tên và Địa chỉ của khách hàng trong một công thức duy nhất.

= XLOOKUP(A2, Customers!$A$2:$A$500, Customers!$B$2:$C$500)

Kết quả sẽ “spill” ra hai cột kế bên.

8. Kết Luận

Hàm VLOOKUP là một trong những công cụ mạnh mẽ và linh hoạt nhất trong Excel để thực hiện tra cứu dữ liệu. Bằng cách nắm vững cú pháp, hiểu rõ các tham số và lưu ý các lỗi thường gặp, bạn có thể:

  • Tự động hoá quy trình hợp nhất dữ liệu.
  • Tiết kiệm thời gian so với việc nhập liệu thủ công.
  • Nâng cao độ chính xác trong các báo cáo và phân tích.

Tuy nhiên, như bất kỳ công cụ nào, VLOOKUP cũng có giới hạn – nhất là khi làm việc với dữ liệu cực lớn hoặc cần tra cứu ngược. Khi gặp những trường hợp này, hãy cân nhắc chuyển sang XLOOKUP hoặc INDEX-MATCH để tối ưu hiệu suất và tính linh hoạt.

Hy vọng sau khi đọc bài viết này, bạn đã có được một bộ công cụ đầy đủ để áp dụng VLOOKUP trong mọi tình huống thực tế. Hãy thực hành, thử nghiệm và dần dần bạn sẽ trở thành “bậc thầy” trong việc xử lý dữ liệu bằng Excel!

Tài nguyên bổ sung
– Video hướng dẫn VLOOKUP trên YouTube: “Excel VLOOKUP for Beginners”.
– Trang Microsoft Docs: VLOOKUP function.
– Sách “Excel Power Users” – Chương 4: Tra cứu và tham chiếu dữ liệu.

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