Tóm tắt nhanh
- Loại bài viết: Hướng dẫn từng bước
- Chủ đề: Cách dùng VLOOKUP() từ trang tính khác trong Excel
- Đối tượng: Người mới bắt đầu với Excel và người dùng chuyên nghiệp cần liên kết dữ liệu giữa các trang tính hoặc sổ làm việc
- Bao gồm: Cú pháp VLOOKUP() từng bước, ví dụ tham chiếu chéo trang tính, quy tắc đặt tên trang tính, và khắc phục lỗi với IF() và IFERROR()
- Khái niệm chính: lookup_value, table_array, col_index_num, range_lookup, tham chiếu chéo trang tính, và xử lý #N/A hoặc không khớp định dạng
- Kết quả: Người đọc sẽ biết cách thực hiện VLOOKUP() từ trang tính khác bằng cách tham chiếu phạm vi với SheetName!Range, khớp giá trị tra cứu, và sửa các lỗi công thức thường gặp
Dùng =VLOOKUP(lookup_value, SheetName!range, col_index, FALSE) để lấy dữ liệu từ trang tính khác. Trong hướng dẫn này, bạn sẽ học cách thiết lập, cú pháp và cách sửa lỗi trong Excel.
Bạn đã bao giờ tốn hàng giờ để tìm thủ công trong bảng tính nhằm đối chiếu dữ liệu chưa? Tôi đã từng như vậy, và thật nản. Đó là lý do tôi sẽ chỉ cho bạn cách VLOOKUP() đã thay đổi cách tôi làm việc với Excel — và cách nó cũng có thể làm điều tương tự cho bạn.
Trong hướng dẫn này, bạn sẽ hiểu cách dùng VLOOKUP() để tìm kiếm và truy xuất dữ liệu, dù ở các trang tính khác nhau trong sổ làm việc hay thậm chí ở các tệp Excel riêng biệt. Tuy nhiên, nếu bạn chưa quen với các hàm Excel, hãy bắt đầu với khóa học Giới thiệu về Excel của chúng tôi để nắm các kiến thức cơ bản.
Câu trả lời nhanh: Cách dùng VLOOKUP() từ trang tính khác
Đây là cách nhanh nhất để dùng VLOOKUP() tìm dữ liệu ở trang tính khác:
=VLOOKUP(lookup_value, Sheet2!range, col_index, [range_lookup])
Điểm mấu chốt nằm ở đối số thứ hai, nơi bạn tham chiếu phạm vi ở trang tính khác. Bạn phải thêm tên trang tính theo sau là dấu chấm than trước phạm vi, như thế này: SheetName!A2:D100
Ví dụ, nếu bạn đang tra cứu mã khách hàng trong trang Customers, bạn sẽ dùng cú pháp sau:
=VLOOKUP(A2, Customers!A2:D100, 2, FALSE)
Và nếu tên trang tính có khoảng trắng, chỉ cần đặt trong dấu nháy đơn như sau:
=VLOOKUP(A2, 'Customer Data'!A2:D100, 2, FALSE)
Vì sao chúng ta dùng VLOOKUP() từ trang tính khác
VLOOKUP(), như bạn có thể biết, cho phép tìm một giá trị trong một bảng và trả về giá trị liên quan từ cột được chỉ định. Tôi nói là cột vì chữ ‘V’ trong VLOOKUP() là viết tắt của ‘vertical’ (dọc). VLOOKUP() rất hữu ích vì điều đó có nghĩa là khi bạn cập nhật thông tin ở một nơi, thông tin ở nơi khác cũng được cập nhật. Tức là việc cập nhật diễn ra tự động ở mọi nơi được tham chiếu.
Giờ đây, tôi dùng VLOOKUP() giữa các trang tính vì tôi lưu các loại thông tin khác nhau ở những nơi khác nhau. Nghe có vẻ hiển nhiên nhưng kéo theo một hệ quả: Nó cho tôi một trang tính riêng để nhập liệu thủ công, và nhờ đó loại bỏ những lỗi có thể len lỏi vào. Biết cách dùng VLOOKUP() từ trang tính khác giúp tôi duy trì bộ dữ liệu sạch mà không lặp thông tin. Tôi làm việc nhanh hơn và mắc ít lỗi hơn.
Tìm hiểu kỹ hơn về VLOOKUP() từ trang tính khác
Bước đầu tiên khi dùng VLOOKUP() giữa các trang tính là xác định thông tin nào bạn sẽ dùng để kết nối dữ liệu. Chúng ta gọi đó là giá trị tra cứu hoặc trường chung. Đó là dữ liệu tồn tại ở cả hai trang tính và giúp Excel đối chiếu, và bạn phải định dạng nhất quán ở cả hai trang. Những khác biệt nhỏ về định dạng, như khoảng trắng ẩn hoặc kiểu dữ liệu không nhất quán, có thể gây lỗi #N/A.
Vì vậy, trước khi viết công thức VLOOKUP(), hãy đảm bảo giá trị tra cứu tồn tại ở cả hai trang, kiểu dữ liệu như văn bản hoặc số là nhất quán, và không có khoảng trắng ẩn hoặc ký tự thừa ở cuối.
Phân tích công thức VLOOKUP()
Khi viết một VLOOKUP() lấy dữ liệu từ trang tính khác, điều chỉnh chính nằm ở tham số table_array. Bạn phải thêm tên trang tính theo sau là dấu chấm than (!) trước phạm vi.
Giả sử bạn có hai trang tính: Employee Data (nơi lưu dữ liệu) và Salary Data (nơi bạn muốn hiển thị lương của từng nhân viên dựa trên giá trị tra cứu).

Trang Employee Data. Ảnh: Tác giả

Trang Salary Data. Ảnh: Tác giả
Để chuyển mức lương từ trang Employee Data sang trang Salary Data:
-
Chọn ô nơi bạn muốn hiện kết quả.
-
Bắt đầu công thức
VLOOKUP():=VLOOKUP( -
Chọn giá trị tra cứu:
=VLOOKUP(A2, -
Tham chiếu trang tính khác (đây là phần then chốt):
=VLOOKUP(A2, Employee Data!A2:D4, -
Hoàn thiện công thức (
4để chỉ cột,FALSEđể khớp chính xác):=VLOOKUP(A2, 'Employee Data'!A2:D4, 4, FALSE)
Khi áp dụng công thức trên, bạn sẽ nhận được kết quả như sau:

Theo tôi, lỗi thường gặp nhất trong một VLOOKUP() chéo trang tính là tham chiếu tên trang không chính xác. Vì vậy, hãy kiểm tra kỹ phần này của công thức khi bạn gặp sự cố với VLOOKUP() chéo trang.
Ví dụ VLOOKUP() từ trang tính khác
Hãy xem một ví dụ khác. Tôi có hai trang — Flavors và Total Sale. Ở trang Total Sale, tôi muốn ghi lại tổng doanh số của tất cả hương vị kem trong một tháng.
Trang Flavors trông như thế này:

Trang Flavors. Ảnh: Tác giả
Trang Total Sale trông như sau:

Trang Total Sale. Ảnh: Tác giả
Để lấy tổng doanh số các hương vị kem từ trang Flavors, tôi áp dụng công thức sau ở ô B2 của trang Total Sale:
=VLOOKUP(A2,Flavors!A:E,5,FALSE)
Công thức này xem giá trị ở A2, tìm nó trong trang Flavors và trả về kết quả từ cột thứ năm khi tìm thấy khớp.

Tổng doanh số từ một trang sang trang khác. Ảnh: Tác giả
Khắc phục các lỗi thường gặp
Mặc dù việc thực hiện VLOOKUP() sẽ khá đơn giản khi bạn hiểu rõ cách hoạt động, bạn vẫn có thể gặp lỗi. Hãy xem chúng là gì và cách xử lý:
Lỗi #N/A
Lỗi #N/A đáng ngại trong VLOOKUP() có thể gây khó chịu, nhưng thường có thể sửa khi bạn hiểu nguyên nhân. Dưới đây là cách nhận biết và khắc phục:
-
Kiểu dữ liệu không khớp: Đôi khi, giá trị tra cứu của bạn được lưu dạng văn bản ở một trang và dạng số ở trang khác. Excel coi chúng là khác nhau, dù nhìn có vẻ giống.
-
Tham chiếu không chính xác: Bạn có thể đang tìm sai chỗ – hoặc sai trang, hoặc sai phạm vi ô. Hãy kiểm tra lại tên trang và phạm vi ô. Đảm bảo bạn đánh đúng tên trang và phạm vi bao trọn dữ liệu cần thiết.
-
Vấn đề khớp chính xác: Nếu bạn dùng
FALSEđể khớp chính xác (thường được khuyến nghị), giá trị tra cứu phải khớp hoàn toàn với dữ liệu trong bảng. Hãy đảm bảo không có khoảng trắng ẩn — bạn có thể dùng hàmTRIM()để loại bỏ. -
Giá trị tra cứu không ở cột đầu tiên:
VLOOKUP()luôn tìm giá trị tra cứu ở cột đầu tiên của phạm vi. Vì vậy, hãy đảm bảo cột tra cứu là cột ngoài cùng bên trái của phạm vi. -
Tham chiếu bị hỏng: Nếu trang bạn tham chiếu bị đổi tên, xóa hoặc di chuyển, công thức sẽ hỏng và báo lỗi. Để tránh, hãy giữ nguyên các trang được tham chiếu.
Xử lý vấn đề với tham chiếu chéo trang tính
Hãy kiểm tra định dạng nhất quán trước khi tra cứu dữ liệu giữa các trang. Để làm vậy, bạn có thể dùng các hàm TEXT() hoặc VALUE() của Excel. Ví dụ, bạn có thể dùng hàm TEXT() trong VLOOKUP() như sau:
=VLOOKUP(TEXT(A2,"0"), Sheet2!B2:D10, 3, FALSE)
Điều này sẽ cho Excel biết rằng giá trị tra cứu của bạn nên được xem là văn bản, hữu ích nếu trang còn lại cũng lưu dữ liệu dạng văn bản.
Ngoài ra, thay vì hiển thị lỗi #N/A, bạn có thể đưa ra thông báo thân thiện hơn bằng công thức IF(). Cách làm như sau:
Xử lý lỗi cơ bản:
=IFERROR(VLOOKUP(A2, Sheet2!B:C, 2, FALSE), "Not Found")
Xử lý lỗi chi tiết hơn:
=IFERROR(VLOOKUP(A2, Sheet2!B:C, 2, FALSE),
"No match found for " & A2)
Lồng ghép xử lý lỗi với thông điệp khác nhau:
=IF(ISBLANK(A2),"Please enter a value", IFERROR(VLOOKUP(A2, Sheet2!B:C, 2, FALSE),
"No match found"))
Để biết thêm chi tiết về cách kết hợp VLOOKUP() và IF(), hãy đọc hướng dẫn chi tiết của tôi, Cách kết hợp VLOOKUP() với IF() trong Excel.
Lời kết
VLOOKUP() giữa các trang là một trong những tính năng mạnh mẽ nhất của Excel cho bất kỳ ai làm việc với nhiều bộ dữ liệu. Khi bạn nắm mẹo đơn giản là thêm tên trang vào công thức, bạn có thể kéo dữ liệu từ bất cứ đâu trong sổ làm việc. Dù lỗi lúc đầu có thể gây bực bội, hầu hết vấn đề với VLOOKUP() đều do dữ liệu không khớp đơn giản và rất dễ sửa khi bạn biết cần kiểm tra gì.
Cách tốt nhất để quen tay với VLOOKUP() chéo trang là luyện tập với dữ liệu của chính bạn. Bắt đầu với các phép tra cứu đơn giản giữa hai trang, rồi dần dần thêm xử lý lỗi khi bạn tự tin hơn. Để học các kỹ thuật Excel nâng cao, DataCamp có nhiều hướng dẫn Excel giúp bạn nâng cao kỹ năng. Ngoài ra, lộ trình kỹ năng Excel Fundamentals của chúng tôi luôn trông rất ổn trên hồ sơ xin việc.
Cuối cùng, nếu bạn muốn hiểu thêm các sắc thái quanh VLOOKUP(), hãy xem các hướng dẫn VLOOKUP() khác của tôi:
Tôi là một chiến lược gia nội dung, yêu thích việc đơn giản hóa các chủ đề phức tạp. Tôi đã giúp các công ty như Splunk, Hackernoon và Tiiny Host tạo nội dung hấp dẫn và giàu thông tin cho khán giả của họ.
Câu hỏi thường gặp về VLOOKUP
Sự khác nhau giữa VLOOKUP() và HLOOKUP() là gì?
VLOOKUP() tìm kiếm giá trị theo chiều dọc trong một cột, trong khi HLOOKUP() tìm theo chiều ngang trên một hàng. Để biết thêm về HLOOKUP(), hãy đọc hướng dẫn của chúng tôi, Cách dùng HLOOKUP() trong Excel.
Tôi có thể lồng các hàm VLOOKUP() không?
Có, để tạo công thức phức tạp hơn, bạn có thể lồng các hàm VLOOKUP() trong những hàm khác như IF() hoặc MATCH().
VLOOKUP() có phân biệt chữ hoa chữ thường không?
Không, VLOOKUP() không phân biệt chữ hoa thường. Nó sẽ coi abc và ABC là cùng một giá trị.
Tôi có thể thực hiện VLOOKUP() trên một sổ làm việc đang đóng không?
Không, VLOOKUP() yêu cầu cả sổ làm việc nguồn và đích đều phải mở để kéo dữ liệu.
