Cách Dùng Lệnh Vlookup Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mục lục bài viết

Mở Đầu: Tại Sao VLOOKUP Lại Quan Trọng?

Trong môi trường làm việc hiện đại, việc xử lý dữ liệu nhanh chóng và chính xác là yếu tố quyết định thành công của nhiều doanh nghiệp và cá nhân. Microsoft Excel, với hàng loạt hàm và công cụ mạnh mẽ, đã trở thành “cây bút” không thể thiếu trong việc quản lý và phân tích dữ liệu. Trong số các hàm phổ biến, VLOOKUP (viết tắt của “Vertical Lookup”) nổi bật như một công cụ tìm kiếm và tra cứu dữ liệu cực kỳ hữu ích.

VLOOKUP cho phép người dùng tìm kiếm một giá trị trong cột đầu tiên của một bảng dữ liệu, sau đó trả về một giá trị tương ứng nằm ở cột khác trong cùng một hàng. Điều này giúp:

  • Kết hợp dữ liệu từ nhiều bảng hoặc sheet khác nhau.
  • Tự động cập nhật thông tin khi dữ liệu nguồn thay đổi.
  • Tiết kiệm thời gian so với việc tra cứu thủ công.
  • Giảm thiểu lỗi nhập liệu do con người.

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, từ những kiến thức cơ bản nhất cho người mới bắt đầu, tới các kỹ thuật nâng cao, mẹo tối ưu và các lỗi thường gặp khi sử dụng VLOOKUP. Hãy cùng khám phá để trở thành “bậc thầy” VLOOKUP trong Excel nhé!

1. Cú Pháp Cơ Bản Của VLOOKUP

1.1. Cấu Trúc Hàm

=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
Tham sốMô tả
lookup_valueGiá trị cần tìm kiếm (có thể là số, văn bản, ngày tháng, hoặc ô chứa giá trị).
table_arrayPhạm vi bảng dữ liệu (có thể là một dải ô, một bảng (Table), hoặc một tên vùng).
col_index_numSố 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).
range_lookupTùy chọn: TRUE (hoặc bỏ trống) để tìm kiếm gần đúng, FALSE để tìm kiếm chính xác.

Lưu ý: VLOOKUP luôn tìm kiếm trong cột đầu tiên của table_array. Nếu cột chứa lookup_value không phải là cột đầu tiên, bạn sẽ cần sử dụng hàm INDEX-MATCH hoặc chuyển đổi bảng.

1.2. Ví Dụ Cơ Bản

Giả sử bạn có bảng Sản phẩm (Sheet1) như sau:

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

Bạn muốn tra cứu Giá dựa trên Mã SP nhập vào ô E2. Công thức:

=VLOOKUP(E2, A2:C4, 3, FALSE)
  • E2 là lookup_value (Mã SP cần tra cứu).
  • A2:C4 là table_array.
  • 3 là col_index_num (cột Giá).
  • FALSE yêu cầu tìm kiếm chính xác.

Nếu nhập P002 vào E2, kết quả trả về sẽ là 12,000.

2. Chuẩn Bị Dữ Liệu Trước Khi Dùng VLOOKUP

2.1. Đảm Bảo Cột Lookup Là Cột Đầu Tiên

VLOOKUP luôn tìm kiếm trong cột đầu tiên của table_array. Nếu dữ liệu của bạn không sắp xếp như vậy, bạn có thể:

  • Sắp xếp lại cột: Di chuyển cột chứa giá trị tra cứu lên vị trí đầu tiên.
  • Sử dụng hàm CHOOSE để tạo một bảng tạm: =VLOOKUP(E2, CHOOSE({1,2}, A2:A4, C2:C4), 2, FALSE). (Kỹ thuật này thường dùng trong các trường hợp phức tạp.)

2.2. Loại Bỏ Dòng Trống Và Dòng Tiêu Đề

Dòng tiêu đề không được tính vào table_array. Đảm bảo rằng phạm vi bạn chọn không bao gồm tiêu đề hoặc sử dụng bảng (Table) để Excel tự quản lý tiêu đề.

2.3. Định Dạng Dữ Liệu Đồng Nhất

  • Số vs Văn bản: Nếu lookup_value là số nhưng cột trong bảng là văn bản, VLOOKUP sẽ không tìm thấy. Dùng hàm VALUE hoặc TEXT để chuyển đổi.
  • Khoảng trắng: Loại bỏ khoảng trắng thừa bằng TRIM.
  • Chữ hoa/thường: VLOOKUP không phân biệt hoa thường, nhưng để tránh lỗi, bạn có thể chuẩn hoá bằng UPPER hoặc LOWER.

2.4. Sắp Xếp Dữ Liệu Khi Dùng Tìm Kiếm Gần Đúng (TRUE)

Nếu range_lookup được đặt là TRUE (hoặc bỏ trống), dữ liệu phải được sắp xếp tăng dần theo cột lookup. Khi không sắp xếp, kết quả có thể sai.

3. Tìm Kiếm Chính Xác vs Gần Đúng

3.1. Tìm Kiếm Chính Xác (FALSE)

  • Mục đích: Tìm giá trị đúng bằng lookup_value.
  • Khi dùng: Khi bạn cần dữ liệu chính xác (mã khách hàng, số chứng từ, v.v.).
  • Ví dụ: =VLOOKUP("P003", A2:C4, 2, FALSE) trả về “Thước kẻ”.

3.2. Tìm Kiếm Gần Đúng (TRUE)

  • Mục đích: Tìm giá trị gần nhất không vượt quá lookup_value.
  • Yêu cầu: Cột lookup phải được sắp xếp tăng dần.
  • Ứng dụng: Tra cứu mức thuế, bảng lương, giá trị dựa trên khoảng.
  • Ví dụ: Giả sử bảng lương:
Hệ sốLương (triệu)
1.05
1.56.5
2.08
2.59.5

Nếu nhập hệ số 1.8 và dùng =VLOOKUP(1.8, A2:B5, 2, TRUE), Excel sẽ trả về 6.5 (hệ số 1.5 là gần nhất không vượt quá 1.8).

4. Sử Dụng VLOOKUP Với Bảng (Table) Và Tên Phạm Vi

4.1. Tạo Bảng (Table)

Cách Dùng Lệnh Vlookup Trong Excel
Cách Dùng Lệnh Vlookup Trong Excel
  • Chọn dải dữ liệu → Ctrl + T → Đánh dấu “My table has headers”.
  • Bảng sẽ tự động mở rộng khi thêm dòng mới, và các công thức sẽ tự cập nhật.

4.2. Công Thức Với Tên Bảng

Giả sử bảng trên được đặt tên tblSanPham, công thức:

=VLOOKUP(E2, tblSanPham, 3, FALSE)
  • Lợi ích: Không cần cập nhật phạm vi khi thêm hoặc xóa dòng.
  • Đọc hiểu dễ dàng hơn.

4.3. Sử Dụng Cấu Trúc Structured References

Bạn có thể tham chiếu trực tiếp tới cột:

=VLOOKUP(E2, tblSanPhamMaSP:tblSanPhamGia, 3, FALSE)

Hoặc dùng XLOOKUP (Excel 365/2026) để thay thế VLOOKUP với cú pháp đơn giản hơn:

=XLOOKUP(E2, tblSanPhamMaSP, tblSanPhamGia)

5. Kết Hợp VLOOKUP Với Các Hàm Khác

5.1. Kết Hợp IFERROR Để Xử Lý Lỗi

Khi VLOOKUP không tìm thấy giá trị, nó trả về lỗi #N/A. Để tránh hiển thị lỗi, dùng IFERROR:

=IFERROR(VLOOKUP(E2, A2:C4, 3, FALSE), "Không tồn tại")

5.2. Kết Hợp LEFT, RIGHT, MID Để Tách Mã

Nếu lookup_value chứa phần mã và bạn cần tách ra, dùng hàm text:

=VLOOKUP(LEFT(E2,4), A2:C4, 3, FALSE)

5.3. Kết Hợp CONCATENATE (hoặc &) Để Tạo Khóa Kết Hợp

Khi tra cứu dựa trên hai cột, bạn có thể tạo một khóa ghép:

  • Tạo cột phụ trong bảng: =A2&B2 (Mã + Tên).
  • Tạo cột phụ trong lookup: =E2&F2.
  • Sau đó dùng VLOOKUP trên cột phụ.

5.4. Kết Hợp ROW() Hoặc COLUMN() Để Động Hóa col_index_num

Nếu muốn sao chép công thức sang các cột khác mà col_index_num tự động tăng, dùng:

=VLOOKUP($E2, $A$2:$D$100, COLUMN(B1), FALSE)
  • Khi công thức được sao chép sang cột C, COLUMN(C1) trả về 3 → trả về cột thứ 3 trong bảng.

5.5. Kết Hợp MATCH Để Xác Định col_index_num Tự Động

Thay vì hardcode col_index_num, dùng MATCH để tìm vị trí cột:

=VLOOKUP(E2, A2:D100, MATCH("Giá", A1:D1, 0), FALSE)
  • MATCH("Giá", A1:D1, 0) trả về số thứ tự của cột “Giá”.

6. Các Lỗi Thường Gặp Khi Dùng VLOOKUP Và Cách Khắc Phục

LỗiNguyên nhânCách khắc phục
#N/AKhông tìm thấy giá trị (lookup_value không tồn tại hoặc không chính xác).Kiểm tra dữ liệu, dùng TRIM, UPPER, hoặc IFERROR.
#REF!col_index_num vượt quá số cột trong table_array.Đảm bảo col_index_num không lớn hơn số cột.
#VALUE!Tham số không hợp lệ (ví dụ: col_index_num không phải số).Kiểm tra lại công thức, chuyển đổi sang số bằng VALUE.
Kết quả sai khi dùng TRUEDữ liệu không được sắp xếp tăng dần.Sắp xếp lại cột lookup hoặc dùng FALSE.
Tra cứu sai vì khoảng trắngDữ liệu có dấu cách thừa.Dùng TRIM hoặc CLEAN.
Không trả về kết quả khi cột lookup không phải cột đầu tiênVLOOKUP chỉ tìm trong cột đầu tiên.Sắp xếp lại bảng, hoặc dùng INDEX-MATCH.

7. Khi Nào Nên Dùng VLOOKUP, Khi Nào Nên Dùng INDEX-MATCH Hoặc XLOOKUP

Tình huốngVLOOKUPINDEX-MATCHXLOOKUP
Cột lookup không phải cột đầu tiênKhông (cần tái cấu trúc)Có (MATCH xác định vị trí)Có (có tham số lookup_array và return_array)
Cần tra cứu cả từ trái sang phải và phải sang tráiKhôngCóCó
Cần tìm giá trị gần đúng và trả về giá trị mặc định nếu không tìm thấyCó (TRUE)Có (kết hợp MATCH với IFERROR)Có (có tham số if_not_found)
Dữ liệu thường thay đổi, thêm dòngCó (đặt thành Table)Có (đặt thành Table)Có (đặt thành Table)
Muốn công thức ngắn gọn, dễ đọcTrung bìnhPhức tạpRất ngắn (cú pháp đơn giản)

Kết luận: VLOOKUP vẫn rất hữu ích cho các trường hợp đơn giản, đặc biệt khi cột lookup là cột đầu tiên và bạn chỉ cần tra cứu một chiều. Tuy nhiên, trong các tình huống phức tạp hơn, INDEX-MATCH hoặc XLOOKUP (nếu có) sẽ linh hoạt hơn.

8. Thực Hành: 5 Bài Tập Thực Tế Với VLOOKUP

Bài 1: Kết Hợp Hai Bảng Khách Hàng và Đơn Hàng

  • Bảng Khách Hàng (Sheet1): A: Mã KH, B: Tên KH, C: Địa chỉ.
  • Bảng Đơn Hàng (Sheet2): A: Mã ĐH, B: Mã KH, C: Ngày, D: Tổng tiền.

Mục tiêu: Thêm cột “Tên KH” vào Sheet2 dựa trên “Mã KH”.

=VLOOKUP(B2, Sheet1!$A$2:$C$100, 2, FALSE)

Bài 2: Tra Cứu Mức Chiết Khấu Dựa Trên Doanh Thu

  • Bảng Chiết Khấu: A: Doanh thu tối thiểu, B: % Chiết khấu.
  • Đặt range_lookup = TRUE, sắp xếp tăng dần cột doanh thu.
=VLOOKUP(E2, $A$2:$B$10, 2, TRUE)

Bài 3: Kiểm Tra Trùng Lặp Mã Sản Phẩm

  • Dùng VLOOKUP để kiểm tra xem một mã sản phẩm đã tồn tại trong danh sách chưa.
=IF(ISNA(VLOOKUP(G2, $A$2:$A$500, 1, FALSE)), "Mới", "Đã tồn tại")

Bài 4: Tạo Bảng Tổng Hợp Doanh Thu Theo Nhân Viên

  • Bảng Giao Dịch: A: Mã NV, B: Doanh thu.
  • Bảng Nhân Viên: A: Mã NV, B: Tên NV.

Sử dụng SUMIF kết hợp VLOOKUP để đưa tên nhân viên vào bảng tổng hợp.

=VLOOKUP(A2, NhânViên!$A$2:$B$100, 2, FALSE) // Tên NV
=SUMIF(GiaoDich!$A$2:$A$500, A2, GiaoDich!$B$2:$B$500) // Doanh thu

Bài 5: Định Giá Sản Phẩm Dựa Trên Đơn Vị Đo

  • Bảng Giá: A: Đơn vị, B: Giá.
  • Trong bảng Đơn hàng, cột “Đơn vị” là E, cột “Giá” cần tự động điền.
=VLOOKUP(E2, Giá!$A$2:$B$50, 2, FALSE)

9. Mẹo Tối Ưu Hóa Hiệu Suất VLOOKUP

  1. Giảm phạm vi table_array: Sử dụng chỉ những cột cần thiết, không toàn bộ sheet.
  2. Sử dụng Table hoặc Named Range: Giúp công thức nhanh hơn và dễ bảo trì.
  3. Tránh VLOOKUP lồng nhau: Nếu có nhiều VLOOKUP trong một ô, cân nhắc dùng XLOOKUP hoặc INDEX-MATCH để giảm độ phức tạp.
  4. Sắp xếp dữ liệu khi dùng TRUE: Giúp Excel thực hiện tìm kiếm nhị phân nhanh hơn.
  5. Tắt tính năng “Automatic Calculation” khi làm việc với tập dữ liệu rất lớn, rồi bật lại sau khi hoàn thành.
  6. Sử dụng Power Query: Khi cần thực hiện nhiều phép nối (join) giữa bảng, Power Query sẽ nhanh hơn VLOOKUP truyền thống.

10. Kết Luận

VLOOKUP là một trong những công cụ không thể thiếu trong Excel để tra cứu, kết nối và tự động hoá dữ liệu. Từ những công thức đơn giản cho đến các trường hợp phức tạp, việc hiểu rõ cú pháp, các tùy chọn và cách kết hợp VLOOKUP với các hàm khác sẽ giúp bạn:

  • Tiết kiệm thời gian đáng kể trong công việc hàng ngày.
  • Giảm thiểu lỗi do nhập liệu thủ công.
  • Tăng tính linh hoạt trong việc xử lý dữ liệu đa dạng.

Mặc dù Excel đã ra mắt các hàm mới như XLOOKUP và FILTER, VLOOKUP vẫn giữ vai trò quan trọng, đặc biệt trong môi trường doanh nghiệp còn sử dụng các phiên bản Excel cũ hơn. Hy vọng qua bài viết này, bạn đã nắm vững cách dùng VLOOKUP từ cơ bản tới nâng cao, sẵn sàng áp dụng vào thực tiễn và trở thành “siêu nhân” Excel trong công việc.

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