Ta thường phải quản lý nhiều sheet dữ liệu khác nhau trong cùng 1 file Excel – Ví dụ: “Danh sách khách hàng”, “Doanh thu”, “Báo cáo tổng hợp”,…. Việc lấy dữ liệu từ sheet này sang sheet khác sẽ giúp tiết kiệm thời gian, giảm sai sót và dễ dàng cập nhật.
Để lấy dữ liệu từ 1 sheet này sang sheet khác trong Excel, ta có thể thực hiện như sau:
- Để lấy giá trị 1 ô duy nhất => Ta sử dụng công thức tham chiếu:
=Tên_Sheet!Ô - Để lấy dữ liệu theo điều kiện => Ta có thể sử dụng hàm VLOOKUP hoặc sử dụng hàm INDEX kết hợp hàm MATCH.
Dưới đây là hướng dẫn chi tiết các bước thực hiện:
1. Lấy giá trị 1 ô từ sheet này sang sheet khác
Để lấy giá trị 1 ô từ sheet này sang sheet khác. Cách đơn giản nhất là ta thực hiện lệnh Copy (Ctrl + C) rồi Paste (Ctrl + V). Tuy nhiên, cách thủ công này vẫn phải di chuyển giữa các sheet và không thể tự động cập nhật khi dữ liệu thay đổi.
Do đó, để lấy giá trị 1 ô từ sheet khác trong Excel, ta sử dụng công thức tham chiếu:
=Tên_Sheet!Ô
Trong đó:
- Tên_Sheet: tên của sheet chứa dữ liệu gốc.
- Ô: vị trí ô mà bạn muốn lấy dữ liệu (ví dụ A1, B2,…).
Ví dụ, ta muốn lấy dữ liệu từ ô A2 của sheet có tên là “du_lieu_goc” thì ta sử dụng công thức sau: =du_lieu_goc!A2
2. Lấy dữ liệu từ sheet này sang sheet khác theo điều kiện
Khi muốn lấy dữ liệu dựa trên giá trị tra cứu (Ví dụ: mã nhân viên, mã hàng, mã học sinh,…) ta có thể sử dụng hàm VLOOKUP hoặc hàm INDEX + MATCH để lấy dữ liệu từ sheet này sang sheet khác theo điều kiện:
Cách 1 – Sử dụng hàm VLOOKUP
Hàm VLOOKUP giúp tra cứu dữ liệu theo cột dọc. Ví dụ ta cần nhập một giá trị cần tra (ví dụ: Mã nhân viên) → Excel sẽ tìm giá trị đó trong sheet khác, rồi trả về thông tin tương ứng (như Họ tên, Phòng ban,…).
=> Hiểu đơn giản: VLOOKUP giúp tự động điền dữ liệu vào sheet hiện tại dựa trên dữ liệu gốc nằm ở sheet khác.
Cú pháp tổng hàm VLOOKUP:
=VLOOKUP(Giá_trị_tra_cứu, Phạm_vi_trên_sheet_khác, Số_thứ_tự_cột, [Kiểu_đối_sánh])
Trong đó:
| Thành phần | Ý nghĩa | Ví dụ |
|---|---|---|
| Giá_trị_tra_cứu | Giá trị bạn muốn tra cứu (thường nằm ở sheet hiện tại). | A2 (Mã NV cần tìm) |
| Phạm_vi_trên_sheet_khác | Vùng dữ liệu chứa giá trị và thông tin cần lấy, nằm ở sheet khác. | ‘Du lieu goc’!A:C |
| Số_thứ_tự_cột | Số thứ tự của cột chứa dữ liệu cần trả về, tính từ cột đầu tiên của vùng chọn. | 2 (cột Họ tên) |
| [Kiểu_đối_sánh] | FALSE: khớp chính xác. TRUE: khớp gần đúng (ít dùng). | FALSE |
Ví dụ tại sheet “Du_Lieu_Goc” ta có bảng dữ liệu như sau:
Tại Sheet khác, ta muốn hiển thị Ho Ten theo Ma NV thì ta sử dụng công thức VLOOKUP như sau: =VLOOKUP(A2; Du_Lieu_Goc!A:C; 2; FALSE)
Xem File mẫu sử dụng VLOOKUP để lấy dữ liệu từ sheet này sang sheet khác
Cách 2: Sử dụng hàm INDEX + MATCH
Hàm INDEX + MATCH và VLOOKUP đều có thể lấy dữ liệu từ sheet này sang sheet khác nhưng việc sử dụng hàm INDEX + MATCH tối ưu hơn trong các tình huống thực tế bởi có ưu điểm nổi nội hơn việc chỉ sử dụng VLOOKUP:
- Có thể tra cứu dữ liệu ở bên trái cột khóa, tra cứu theo hàng + cột,…
- Có thể hỗ trợ tra cứu dữ liệu theo nhiều điều kiện.
- Có thể kiểm soát được các lỗi #N/A, #REF
Cú pháp cơ bản hàm INDEX + MATCH:
=INDEX(vùng_trả_về, MATCH(giá_trị_tra, cột_tra_cứu, 0))
Trong đó:
- INDEX(vùng_trả_về): Vùng chứa kết quả cần lấy (ví dụ cột Họ tên).
- MATCH(giá_trị_tra, cột_tra_cứu, 0): Tìm vị trí (hàng thứ mấy) của giá trị trong cột tra cứu. Tham số 0 = khớp chính xác.
Ví dụ 1: Lấy dữ liệu đơn giản
Với sheet “Du_Lieu_Goc” với bảng dữ liệu như sau:
Giờ ta muốn sang sheet khác và lấy dữ liệu Ho Ten theo Ma NV thì thực hiện với hàm INDEX + MATCH bằng công thức sau:
=INDEX('Du_Lieu_Goc'!B:B, MATCH(A2, 'Du_Lieu_Goc'!A:A, 0))
Trong đó:
- ‘Du_Lieu_Goc’!B:B: cột Họ tên (vùng trả về).
- A2: Mã NV cần tra.
- ‘Du_Lieu_Goc’!A:A: cột chứa Mã NV (cột tra cứu).
- 0: bắt buộc khớp chính xác.
Ví dụ 2: Lấy dữ liệu từ sheet này sang sheet khác theo nhiều điều kiện
Một trong những ưu điểm của việc sử dụng hàm INDEX + MATCH là ta có thể lấy dữ liệu từ sheet khác theo nhiều điều kiện khác nhau.
Ví dụ với sheet “Du_Lieu_Goc” ta có bảng dữ liệu như sau:
Tại sheet khác, để lấy mức lương theo Mã NV và Phòng Ban. Ví dụ lấy mức lương của nhân viên có mã NV01 ở phòng Ke Toan thì ta sử dụng công thức sau:
=INDEX( Du_Lieu_Goc!E4:E11; MATCH(1; (Du_Lieu_Goc!A4:A11=A3)*(Du_Lieu_Goc!C4:C11=B3);0))
Xem File Excel mẫu để lấy dữ liệu từ sheet này sang sheet khác với INDEX + MATCH
Trên đây là các cách để lấy dữ liệu từ sheet này sang sheet khác trong Excel. Chúc các bạn áp dung thành công!






