
Có khi nào bạn có hai file Excel, và sếp yêu cầu bạn “lấy cho anh cột SĐT từ file Khách hàng và dán nó vào file Đơn hàng”?
Bạn có file A (Bảng Đơn Hàng) với 1.000 Mã Khách Hàng. Bạn có file B (Bảng Khách Hàng) với 5.000 Mã Khách Hàng và SĐT của họ.
Bạn xem thêm:
- 7 sai lầm khi vẽ biểu đồ Excel và cách sửa nhanh
- 30+ phím tắt Excel công sở: Tăng tốc x5
- Pivot Table từ A–Z: Phân tích dữ liệu thần tốc
Và bạn, bằng một sự kiên nhẫn đáng khâm phục, bắt đầu làm thủ công: copy Mã Khách Hàng đầu tiên (KH001) từ file A -> qua file B, nhấn Ctrl+F (Tìm kiếm) -> dán KH001 vào -> tìm thấy -> copy SĐT -> quay lại file A -> dán SĐT vào.
Lặp lại 999 lần nữa.
Nếu bạn đang làm cách này, bạn đang lãng phí hàng giờ, thậm chí hàng ngày, cho một công việc mà Excel có thể làm giúp bạn trong 10 giây bằng hàm Vlookup.
Nhưng rồi bạn thử dùng Vlookup, và thứ duy nhất bạn nhận lại là một cột đầy lỗi #N/A (Not Available). Bạn bắt đầu hoảng sợ, bối rối, và cuối cùng… quay lại làm thủ công.
Vậy, Vlookup là gì? Nó là một hàm dò tìm theo chiều dọc (Vertical Lookup), cho phép bạn tìm một giá trị (như “KH001”) trong cột đầu tiên của một bảng dữ liệu và trả về một giá trị tương ứng ở cột khác (như SĐT). Nhưng nó có những hạn chế “chết người”.
Bài viết này là một hướng dẫn chi tiết từ A-Z, không chỉ giải thích Vlookup là gì, mà còn chỉ ra những sai lầm phổ biến khiến hàm của bạn báo lỗi, và quan trọng nhất: giới thiệu cho bạn một “người kế nhiệm” mạnh mẽ, linh hoạt hơn gấp nhiều lần: bộ đôi INDEX & MATCH.
1. Tại Sao 90% Người Dùng “Sợ” Vlookup?

Hàm Vlookup là một trong những hàm Excel đầu tiên phân loại “người mới” và “người biết dùng”. Nhưng nó cũng là hàm gây nản lòng nhất. Hầu hết mọi người thất bại không phải vì hàm này khó, mà vì họ không hiểu được những “luật ngầm” của nó.
Sai lầm 1: Không hiểu 4 tham số (Đặc biệt là tham số cuối cùng)
Cú pháp của Vlookup là: =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) (Giá trị dò tìm, Bảng dò tìm, Số thứ tự cột trả về, Kiểu dò tìm)
Hầu hết mọi người đều bỏ qua tham số cuối cùng [range_lookup]. Và đây là thảm họa.
- Excel mặc định tham số này là
TRUE(Dò tìm tương đối). TRUEyêu cầu bảng dữ liệu của bạn phải được sắp xếp theo thứ tự tăng dần.- Nếu bảng chưa sắp xếp (mà 99% là chưa), Excel sẽ trả về một kết quả SAI mà không hề báo lỗi. Bạn sẽ tự tin nộp một báo cáo sai số liệu.
Sai lầm 2: Dữ liệu không “sạch” (Định dạng, khoảng trắng)

Bạn đang tìm mã “KH001”, nhưng trong bảng dữ liệu, mã đó lại là “KH001 ” (có một khoảng trắng ở cuối). Vlookup sẽ ngay lập tức trả về #N/A. Hoặc, một mã là “123” (dạng Số) và mã kia là “123” (dạng Chữ). Chúng trông giống hệt nhau, nhưng Vlookup sẽ không tìm thấy.
Sai lầm 3: “Gông cùm” của Cột Đầu Tiên
Đây là hạn chế lớn nhất của Vlookup. Nó BẮT BUỘC bạn phải dò tìm giá trị trong cột đầu tiên của bảng table_array.
Nếu bảng dữ liệu của bạn có cột SĐT (cột A) rồi mới đến Mã Khách Hàng (cột B), và bạn muốn dùng Mã KH để tìm SĐT? Vlookup BÓ TAY. Nó không thể “nhìn” sang bên trái được.
Sai lầm 4: Thêm/Xóa cột làm hỏng công thức
Tham số thứ 3 của Vlookup là col_index_num (số thứ tự cột trả về). Bạn chỉ định 3 để lấy cột “Địa chỉ”.
Tuần sau, sếp bạn yêu cầu chèn thêm cột “Ngày sinh” vào giữa. Cột “Địa chỉ” bây giờ trở thành cột số 4. Và thế là toàn bộ 1.000 dòng Vlookup của bạn trả về sai kết quả (chúng đang trả về “Ngày sinh” thay vì “Địa chỉ”). Bạn phải đi sửa lại thủ công toàn bộ công thức.
2. Tư Duy “Người Dò Tìm”

Để thành thạo Vlookup (và cả INDEX & MATCH), bạn cần 2 nguyên tắc tư duy:
Nguyên tắc 1: Tư duy “Chìa khóa” (Primary Key)
Bạn không thể tìm “Nguyễn Văn An” và mong Excel trả về đúng SĐT. Sẽ có 10 người tên “Nguyễn Văn An”.
Bạn phải dùng một “chìa khóa” duy nhất (unique identifier). Đó là Mã Nhân viên, Mã Khách Hàng, Mã Đơn hàng… Đây là giá trị bạn dùng trong tham số lookup_value. Dữ liệu của bạn phải có “chìa khóa” duy nhất.
Nguyên tắc 2: “Khóa” Tham Chiếu (Phím F4)
Khi bạn viết một công thức Vlookup ở ô đầu tiên và bạn muốn sao chép (fill down) nó cho 1.000 dòng bên dưới, bạn phải dùng Cố định tuyệt đối.
Nếu bạn không “khóa” table_array (bảng dò tìm) bằng phím F4 (biến nó thành $A$1:$D$5000), vùng tìm kiếm của bạn sẽ bị “trôi” xuống khi bạn sao chép công thức, và bạn sẽ nhận về một mớ lỗi #N/A.
3. Hướng Dẫn Vlookup Từ A-Z

Chúng ta sẽ dùng 2 bảng ví dụ:
- Bảng 1 (Sheet1): Bảng Đơn Hàng (nơi chúng ta cần điền dữ liệu)
- Cột A: Mã Đơn Hàng
- Cột B: Mã Khách Hàng (ví dụ: KH002)
- Cột C: (Trống – Cần điền Tên KH)
- Bảng 2 (Sheet2): Bảng Khách Hàng (nơi chúng ta tra cứu)
- Cột E: Mã Khách Hàng (ví dụ: KH001, KH002, KH003…)
- Cột F: Tên Khách Hàng
- Cột G: Số Điện Thoại
- Cột H: Địa Chỉ
Mục tiêu: Lấy Tên Khách Hàng từ Bảng 2 điền vào Cột C của Bảng 1.
Bước 1: Viết công thức Vlookup đầu tiên (Tại ô C2 của Sheet1)

What: Gõ công thức =VLOOKUP(
Why: Bắt đầu hàm.
How: Gõ =VLOOKUP(
Bước 2: Tham số 1 – lookup_value (Giá trị dò tìm)
What: Bạn đang tìm cái gì? Đó là “chìa khóa” của bạn.
Why: Bạn cần cho Excel biết giá trị duy nhất để nó đi tìm.
How: Bấm vào ô B2 (chứa “KH002”). Công thức bây giờ: =VLOOKUP(B2,
Bước 3: Tham số 2 – table_array (Bảng dò tìm)
What: Bạn tìm ở đâu? Đây là toàn bộ bảng dữ liệu tra cứu.
Why: Cung cấp “kho dữ liệu” để Excel tìm kiếm.
How:
- Chuyển sang Sheet2.
- Dùng chuột bôi đen toàn bộ vùng dữ liệu Bảng 2, bắt đầu từ cột chứa “chìa khóa” (Cột E). Ví dụ:
E1:H5000. - QUAN TRỌNG: Nhấn phím
F4ngay lập tức để “khóa” vùng này lại. - Công thức bây giờ:
=VLOOKUP(B2, Sheet2!$E$1:$H$5000,
Bước 4: Tham số 3 – col_index_num (Cột trả về)

What: Nếu tìm thấy, bạn muốn lấy dữ liệu ở cột thứ mấy (trong Bảng dò tìm)?
Why: Chỉ định kết quả bạn muốn lấy.
How:
- Trong Bảng dò tìm (
$E$1:$H$5000), Cột E là cột1, Cột F (Tên Khách Hàng) là cột2, Cột G là3, Cột H là4. - Chúng ta cần “Tên Khách Hàng”, vậy gõ số
2. Công thức bây giờ:=VLOOKUP(B2, Sheet2!$E$1:$H$5000, 2,
Bước 5: Tham số 4 – [range_lookup] (Kiểu dò tìm)
What: Bạn muốn tìm “Chính xác” (Exact Match) hay “Tương đối” (Approximate Match)? Why: Đây là bước quan trọng nhất để tránh báo cáo sai. 99% công việc văn phòng cần tìm Chính xác. How:
- Gõ
FALSE(hoặc gõ số0cho nhanh). - Đóng ngoặc lại. Công thức hoàn chỉnh:
=VLOOKUP(B2, Sheet2!$E$1:$H$5000, 2, 0)
Bước 6: Sao chép công thức
Nhấn Enter. Bạn sẽ thấy ô C2 trả về Tên Khách Hàng. Giờ hãy di chuột đến góc dưới bên phải ô C2 (hiện dấu cộng màu đen) và double-click (nhấp đúp). Công thức sẽ tự động áp dụng cho 1.000 dòng bên dưới.
Chúc mừng, bạn vừa tiết kiệm được 2 giờ làm việc thủ công!
4. Khi Nào Vlookup Thất Bại? Chào Mừng Kỷ Nguyên Của INDEX & MATCH

Như đã nói, Vlookup có 2 hạn chế “chết người”:
- Không thể dò tìm sang bên trái.
- Công thức bị hỏng nếu chèn/xóa cột.
Giờ đây, các chuyên gia Excel không còn dùng Vlookup. Họ dùng một bộ đôi mạnh mẽ và linh hoạt hơn rất nhiều: INDEX và MATCH.
Nguyên tắc 1: Hàm MATCH làm gì?
Hàm MATCH chỉ làm một việc: Nó tìm một giá trị (giống lookup_value) trong một vùng (chỉ 1 cột hoặc 1 hàng) và trả về vị trí (số thứ tự) của nó.
Cú pháp: =MATCH(lookup_value, lookup_array, [match_type])
lookup_value: Cái bạn tìm (ví dụ: ô B2 chứa “KH002”).lookup_array: Nơi bạn tìm (ví dụ: cột E ở Sheet2,Sheet2!$E$1:$E$5000).match_type: Gõ số0(giốngFALSEcủa Vlookup – tìm chính xác).
Ví dụ: =MATCH(B2, Sheet2!$E$1:$E$5000, 0) Hàm này sẽ trả về số 2, vì “KH002” nằm ở hàng thứ 2 trong vùng E1:E5000.
Nguyên tắc 2: Hàm INDEX làm gì?
Hàm INDEX chỉ làm một việc: Nó lấy dữ liệu tại một vị trí (tọa độ) mà bạn chỉ định.
Cú pháp: =INDEX(array, row_num, [column_num])
array: Vùng dữ liệu bạn muốn lấy kết quả (ví dụ: cột Tên Khách Hàng,Sheet2!$F$1:$F$5000).row_num: Bạn muốn lấy dữ liệu ở hàng thứ mấy?column_num: (Tùy chọn) Bạn muốn lấy dữ liệu ở cột thứ mấy? (Nếuarraychỉ có 1 cột thì không cần).
Ví dụ: =INDEX(Sheet2!$F$1:$F$5000, 2) Hàm này sẽ trả về giá trị ở hàng thứ 2 của cột F (Tên Khách Hàng).
Kết hợp “Song Kiếm Hợp Bích”: INDEX & MATCH

Giờ hãy lồng chúng vào nhau. Thay vì tự gõ số 2 vào hàm INDEX, chúng ta dùng hàm MATCH để tự động tìm ra số 2 đó.
Công thức thay thế Vlookup: =INDEX(Sheet2!$F$1:$F$5000, MATCH(B2, Sheet2!$E$1:$E$5000, 0))
Diễn giải:
- MATCH(…): Tìm “KH002” (ô
B2) trong cột Mã KH (cộtE), tìm thấy nó ở hàng thứ 2. - INDEX(…): Lấy giá trị tại hàng thứ 2 của cột Tên KH (cột
F).
3 Lý Do Vì Sao INDEX & MATCH Tốt Hơn Vlookup:
- Có thể dò tìm sang trái: Bạn thấy không?
INDEXvàMATCHhoạt động trên 2 cột độc lập. CộtMATCH(cột E) và cộtINDEX(cột F) có thể nằm bất cứ đâu. Bạn có thểMATCHở cột E vàINDEXở cột A. - Không bị hỏng khi chèn/xóa cột: Công thức tham chiếu trực tiếp đến cột F (Tên KH) và cột E (Mã KH). Bạn có chèn 10 cột vào giữa thì cũng không ảnh hưởng, vì nó không dựa vào “số thứ tự cột” (như
col_index_num=2). - Nhẹ và nhanh hơn: Với dữ liệu hàng trăm ngàn dòng, Vlookup tham chiếu đến cả một Bảng lớn (
E:H), trong khi INDEX/MATCH chỉ tham chiếu đến 2 cột cần thiết (E:EvàF:F), giúp file Excel chạy nhanh hơn.
5. Biết Hàm Nhưng Không Biết Hệ Thống

Bạn đã biết Vlookup. Bạn đã biết INDEX & MATCH. Bạn đã vượt qua 90% người dùng Excel ngoài kia.
Nhưng bạn vẫn đang xử lý dữ liệu ở mức “thủ công”.
- Bạn vẫn phải tự tay copy 2 bảng dữ liệu vào chung 1 file.
- Khi sếp gửi file dữ liệu mới, bạn lại phải làm lại công thức.
- Khi bạn cần phân tích và tổng hợp dữ liệu đó, bạn lại phải dùng Pivot Table trên cái bảng mà bạn vừa Vlookup.
Vlookup và INDEX/MATCH là những công cụ tuyệt vời để chuẩn bị dữ liệu. Nhưng chúng không phải là bước cuối cùng. Chúng là một phần của một quy trình xử lý dữ liệu lớn hơn.
6. Từ Dò Tìm Thủ Công Đến Phân Tích Tự Động
Trong một quy trình chuyên nghiệp, bạn sẽ dùng Power Query (Get & Transform Data) để tự động kết nối và “Join” (ghép) hai bảng này lại mà không cần viết một hàm nào. Sau đó, bạn đưa dữ liệu “sạch” đó vào Data Model và dùng Pivot Table để phân tích.
Biết Vlookup và INDEX/MATCH là bắt buộc. Đó là lý do tại sao Phần 4: Vận dụng các hàm nâng cao (gồm Vlookup, Hlookup, Index, Match) là một module cốt lõi trong khóa học “Chinh phục Excel công sở“ của ThS. Nguyễn Thành Đông.
Khóa học này sẽ đặt các hàm này vào đúng vị trí của nó: là “công cụ” để phục vụ cho mục tiêu lớn hơn là “phân tích” (Phần 5 – Pivot Tables, Solver) và “trình bày” (Phần 3 & 6 – Biểu đồ nâng cao).
7. Kết Luận

Vlookup là gì? Nó là một công cụ dò tìm tuyệt vời, nhưng đã “lỗi thời”. Việc học nó là cần thiết, nhưng việc dừng lại ở nó là một sai lầm.
Nếu bạn là người mới, hãy luyện tập 6 bước viết hàm Vlookup (và luôn nhớ dùng số 0 hoặc FALSE!).
Nhưng nếu bạn muốn trở thành một chuyên gia, hãy cam kết từ hôm nay: Hãy ngừng sửu dụng Vlookup và bắt đầu luyện tập với INDEX & MATCH. Nó có thể hơi lạ lẫm lúc đầu, nhưng sự linh hoạt và sức mạnh mà nó mang lại sẽ giúp bạn bứt phá trong dài hạn.