Khi muốn lấy dữ liệu từ sheet khác trong excel bằng hàm VLOOKUP ví dụ như lấy tên sản phẩm, giá bán, hoặc thông tin nhân viên từ bảng tổng hợp thì thực hiện như thế nào?
Cách dùng hàm VLOOKUP giữa 2 sheet thực chất không khác gì so với việc dùng trên 1 sheet. Điểm khác biệt duy nhất là ở phần chọn tham số table_array (vùng dữ liệu). Sau đây mình sẽ hướng dẫn bạn cách sử dụng hàm VLOOKUP giữa 2 sheet cực kỳ đơn giản và dễ hiểu:
1. Cú pháp hàm VLOOKUP dùng giữa 2 sheet
Công thức hàm VLOOKUP chung như sau:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Trong đó:
| Tham số | Ý nghĩa |
|---|---|
lookup_value |
Giá trị bạn muốn tìm kiếm |
table_array |
Bảng dữ liệu chứa giá trị tìm kiếm (ở sheet khác) |
col_index_num |
Số thứ tự cột chứa kết quả muốn trả về (tính từ cột đầu tiên trong vùng dữ liệu) |
[range_lookup] |
Tùy chọn tìm chính xác hoặc gần đúng: FALSE = chính xác, TRUE = gần đúng |
Để sử dụng hàm VLOOKUP giữa 2 sheet, ta sẽ điều chỉnh tham số table_array như sau:
=VLOOKUP(giá_trị_cần_tìm, tên_sheet!vùng_tra_cứu, số_thứ_tự_cột, [kiểu_tìm_kiếm])
Trong đó:
giá_trị_cần_tìm(lookup_value): là giá trị cần tìm.tên_sheet!vùng_tra_cứu(table_array): Là vùng dữ liệu được tham chiếu trên sheet khác. Ví dụ như:Sheet2!$A$2:$C$10tức là tham chiếu đến vùngA2:C10của Sheet2số_thứ_tự_cột(col_index_num): Là số thứ tự của cột chứa thông tin trong vùng tra cứu cần lấy về.kiểu_tìm_kiếm([range_lookup]): Sử dụng FALSE (hoặc 0) để tìm kiếm chính xác.
2. Cách sử dụng hàm VLOOKUP giữa 2 sheet
Giả sử ta có 2 sheet:
-
- Sheet1: Danh sách bán hàng, chỉ có mã sản phẩm và số lượng.
- Sheet2: Bảng danh mục sản phẩm, gồm Mã SP, Tên SP, Giá bán.
=> Bài toán: Giờ ta muốn lấy tên sản phẩm và giá bán từ Sheet2 sang Sheet1 dựa trên mã sản phẩm.
Bước 1: Xác định vùng dữ liệu nguồn:
Dữ liệu ở Sheet2 nằm trong vùng A2:C100, trong đó:
- Cột A: Mã SP
- Cột B: Tên SP
- Cột C: Giá bán
Bước 2: Nhập công thức hàm VLOOKUP giữa 2 sheet:
Tại ô C2 trong Sheet1 cần hiển thị tên sản phẩm, nhập công thức:
=VLOOKUP(A2, Sheet2!A2:C100, 2, FALSE)
Trong đó:
A2: là mã sản phẩm trong Sheet1.Sheet2!A2:C100: là vùng dữ liệu chứa thông tin sản phẩm.2: là cột thứ 2 trong vùng (cột “Tên SP”).FALSE: tìm kiếm chính xác mã sản phẩm.
Kéo công thức xuống các dòng khác để tự động lấy dữ liệu tương ứng.
Tại ô D2 trong Sheet 1 cần hiển thị giá bán ta nhập công thức sau:
=VLOOKUP(A2, Sheet2!A2:C100, 3, FALSE)
Sau đó cũng kéo công thức xuống các dòng để tự động lấy dữ liệu:
>>> Xem thêm: Cách sử dụng hàm VLOOKUP trong cùng Sheet, khác Sheet và khác file
3. Lưu ý khi sử dụng hàm VLOOKUP giữa 2 sheet
Khi sử dụng hàm VLOOKUP giữa 2 sheet, ta cần chú ý 1 số vấn đề quan trọng sau:
Lưu ý 1: Luôn cố vùng tra cứu dữ liệu để kéo công thức không bị sai lệch
Ở trong ví dụ ở mục 2, ta sử dụng vùng tra cứu dữ liệu là Sheet2!A2:C100 khiến cho khi ta kéo công thức xuống các dòng khác thì vùng tra cứu này sẽ tự động nhảy theo khiến kết quả bị sai lệch. Ví dụ quan sát hình ảnh dưới đây:

Do đó, khi sử dụng hàm VLOOKUP giữa 2 sheet và kéo công thức để áp dụng nhiều dòng, ta sẽ cố định vùng tra cứu dữ liệu:
- Cách 1 – sử dụng dấu
$bằng cách ấn phím F4:Sheet2!$A$2:$C$100 - Cách 2 – biến vùng dữ liệu thành dạng bảng (Table) rồi dùng tên để tham chiếu (bằng cách bôi đen vùng dữ liệu => Insert => Table). Ví dụ biến vùng
A2:C100thành “Dulieu” thì sẽ thànhDulieuđể thay thế choSheet2!A2:C100
Do đó công thức chuẩn hàm VLOOKUP dùng cho 2 sheet để kéo công thức là:
- Sử dụng dấu
$:=VLOOKUP(A2, Sheet2!$A$2:$C$100, 3, FALSE) - Sử dụng table:
=VLOOKUP(A2, Dulieu, 3, FALSE)
Lưu ý 2: Xử lý lỗi #N/A khi sử dụng hàm VLOOKUP
Khi sử dụng hàm VLOOKUP mà không tìm thấy giá trị, nó sẽ trả về lỗi #N/A. Ta có thể sử dụng hàm IFERROR để thay thế lỗi bằng một giá trị khác:
=IFERROR(VLOOKUP(A2, Sheet2_SanPham!$A$2:$C$6, 2, FALSE), "Không tìm thấy")
Trong đó:
- Cú pháp hàm:
IFERROR(giá_trị_cần_kiểm_tra, giá_trị_khi_lỗi) - Ta có thể đổi thông điệp, ví dụ: “Chưa có mã“, “” (để trống), hoặc một giá trị khác.
Một số lưu ý khác
Ngoài ra, khi sử dụng hàm VLOOKUP giữa 2 sheet nói riêng, và khi sử dụng hàm VLOOKUP nói chung thì ta cần lưu ý các yếu tố sau:
- Chọn FALSE cho tham số cuối để tìm chính xác. TRUE chỉ dùng tra cứu gần đúng khi cột tra cứu đã sắp tăng dần.
- Cột tra cứu luôn phải đứng đầu trong
table_array. Nếu không sắp xếp lại được, cân nhắc XLOOKUP hoặc INDEX+MATCH. - Khóa cột chỉ số (
col_index_num) đúng vị trí mong muốn. Nếu bạn chèn/xóa cột trong vùng, chỉ số có thể lệch → Ưu tiên XLOOKUP/INDEX+MATCH (không phụ thuộc số thứ tự cột). - Đồng nhất kiểu dữ liệu (Mã SP đều là Text hoặc đều là Number). Trộn lẫn sẽ gây
#N/A.
Trên đây là hướng dẫn chi tiết về cách sử dụng hàm VLOOKUP giữa 2 trang tính trong Excel. Chúc các bạn áp dụng thành công!



