Kết hợp VLOOKUP và INDIRECT trong dò tìm nhiều sheet

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Đã bao giờ bạn gặp trường hợp giá trị bạn cần có mặt ở nhiều sheet và bạn có nhiệm vụ lấy các giá trị đó để thể hiện trên một sheet Tổng cộng?

Để dễ hình dung, giả sử tôi có dữ liệu chấm công được xuất ra từ hệ thống với cấu trúc ngày tháng năm thể hiện theo từng sheet và cấu trúc dữ liệu của các sheet thì hoàn toàn giống nhau như sau:
2194

Và tôi có một sheet Tổng cộng có cấu trúc sau:
2193

Bạn có thể thấy yêu cầu của bảng trên hình, đó là tôi muốn thấy được thời gian đi làm của từng nhân viên theo từng ngày. Như vậy chúng ta sẽ làm như thế nào?

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học

Một cách phổ biến, đa phần mọi người đều "cam chịu" làm tay theo từng cột. Điều này có nghĩa là, tôi sẽ viết hàm VLOOKUP cho cột D trước như sau:
2192

Sau đó, tôi lại qua cột E để viết cho sheet 0201:
2191

Và quá trình này cứ kéo dài cho đến hết cột M. Tuy nhiên, bạn hãy thử tưởng tượng bạn cần dữ liệu của 1 tháng, và chắc chắn bạn không thể làm tay như vậy 30 lần liên tiếp được. Và dĩ nhiên rồi, việc làm thế này vừa tốn thời gian lại không chuyên nghiệp, và khi có lỗi xảy ra, bạn sẽ phải mất công đi sửa 30 lần.

Do vậy, để tránh sự đau khổ này, bạn có thể tìm đến hàm INDIRECT của Excel. Từ đó, bạn hãy làm thế này:

1/ Đầu tiên, bạn hãy viết VLOOKUP như bình thường, nghĩa là bạn sẽ có hàm như sau: =VLOOKUP($B2,'0101'!$B:$J,9,FALSE)

2/ Bạn để ý thấy sheet 0101 trùng với tên ô D1 không? Và sheet 0201 thì trùng với E1, và cứ thế. Do vậy, hãy chèn hàm INDIRECT vào. Từ đó, bạn sẽ có như sau:
=VLOOKUP($B2,INDIRECT("'" & D$1 &"'!$B:$J"),9,FALSE)
2190

Rất dễ dàng phải không? Từ đây, bạn để ý thấy hàm INDIRECT sẽ biến chuỗi '0101'!$B:$J thành địa chỉ và từ đó, Excel sẽ hiểu cú pháp này là cú pháp tham chiếu đến 1 sheet khác mang tên 0101 và quét từ cột B đến cột J. Và ứng với tham chiếu tương đối được thiết lập qua ô D1, D2, D3,… công thức sẽ tự lấy và điền vào để tạo thành các chuỗi tương ứng. Tuy nhiên, nếu không có hàm INDIRECT, Excel sẽ chỉ hiểu đó là một chuỗi mà thôi, do vậy, chúng ta phải sử dụng hàm này ở phía trước.

Đây là một ứng dụng rất tiêu biểu và thường thấy đối với những người làm việc với nhiều sheet có chung một cấu trúc giống nhau.

Chúc bạn thành công!

www.giaiphapexcel.com/diendan/threads/k%E1%BA%BFt-h%E1%BB%A3p-vlookup-v%C3%A0-indirect-trong-d%C3%B2-t%C3%ACm-nhi%E1%BB%81u-sheet.120696/

★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm