Chào các anh chị em, mình là thành viên mới của diễn đàn. Hôm nay mình muốn chia sẻ một cách dùng hàm OFFSET kết hợp với MATCH mà mình mới tìm hiểu được, giúp tạo ra các vùng dữ liệu tự động co giãn theo số lượng hàng/cột. Cái này rất hữu ích khi làm báo cáo động hoặc khi dữ liệu nguồn thay đổi liên tục.
Ví dụ tình huống: Mình có một bảng dữ liệu bán hàng, mỗi tháng lại có thêm sản phẩm mới hoặc số lượng bán thay đổi. Nếu dùng các hàm như VLOOKUP hay INDEX với vùng cố định, mỗi lần có dữ liệu mới lại phải chỉnh sửa công thức rất mất công. Với OFFSET và MATCH, mình có thể khắc phục được điều này.
Công thức cơ bản sẽ trông như thế này:
=OFFSET(Vùng_Bắt_Đầu, 0, 0, MATCH(ĐK_Hàng, Cột_Hàng, 0), MATCH(ĐK_Cột, Hàng_Cột, 0))Trong đó:
Vùng_Bắt_Đầu: Ô đầu tiên của bảng dữ liệu bạn muốn lấy.MATCH(ĐK_Hàng, Cột_Hàng, 0): Tìm xem có bao nhiêu hàng thỏa mãn điều kiện (ví dụ: tìm hàng cuối cùng có dữ liệu).MATCH(ĐK_Cột, Hàng_Cột, 0): Tìm xem có bao nhiêu cột thỏa mãn điều kiện (ví dụ: tìm cột cuối cùng có dữ liệu).
Cách này giúp vùng dữ liệu bạn tham chiếu trong các công thức khác (như SUMIFS, AVERAGEIFS) luôn được cập nhật mà không cần can thiệp thủ công.
Anh em nào đã từng dùng cách này hoặc có cách nào hay hơn thì chia sẻ cho mình với nhé!