Chào các bác, hôm nay em muốn chia sẻ một kỹ thuật mà em mới khám phá ra, giúp tự động hóa việc tạo bảng tra cứu dữ liệu một cách linh hoạt hơn là chỉ dùng VLOOKUP hay HLOOKUP đơn thuần. Đó là kết hợp hàm INDEX và MATCH.
Trong nhiều trường hợp, chúng ta cần tra cứu dữ liệu theo nhiều điều kiện hoặc tra cứu từ trái sang phải, hoặc thậm chí là từ dưới lên trên. VLOOKUP và HLOOKUP có những hạn chế nhất định trong các tình huống này.
Sự kết hợp giữa INDEX và MATCH giải quyết được vấn đề này:
MATCH: Hàm này giúp tìm vị trí tương đối của một giá trị trong một phạm vi (hàng hoặc cột). Nó trả về số thứ tự của giá trị đó.INDEX: Hàm này trả về giá trị của một ô tại giao điểm của một hàng và một cột cụ thể trong một phạm vi cho trước.
Khi kết hợp lại, chúng ta có thể:
- Sử dụng
MATCHđể tìm vị trí hàng hoặc cột dựa trên một hoặc nhiều điều kiện. - Sử dụng kết quả từ
MATCHlàm đối số choINDEXđể lấy ra giá trị mong muốn.
Ví dụ, để tra cứu lương của nhân viên 'Nguyễn Văn A' ở phòng 'Kinh Doanh', thay vì dùng VLOOKUP phức tạp với nhiều cột, ta có thể dùng:
=INDEX(CộtLương, MATCH(1, (CộtTên = "Nguyễn Văn A") * (CộtPhòngBan = "Kinh Doanh"), 0))Lưu ý: Công thức mảng này cần được nhập bằng tổ hợp phím Ctrl + Shift + Enter trong các phiên bản Excel cũ hơn. Trên Microsoft 365, bạn chỉ cần Enter.
Cách này rất mạnh mẽ và linh hoạt, đặc biệt khi bạn có các bảng dữ liệu lớn và cần tra cứu đa chiều. Các bác đã thử dùng cách này chưa? Có tips nào hay hơn thì chia sẻ nhé!