Chào các bác, hôm nay em muốn chia sẻ một hàm mà em thấy rất hữu ích trong việc tạo báo cáo động, đó là hàm OFFSET. Nhiều lúc làm báo cáo, mình cần tham chiếu đến một vùng dữ liệu có thể thay đổi kích thước, ví dụ như lấy tổng doanh thu 3 tháng gần nhất, hoặc tính trung bình của 5 mặt hàng bán chạy nhất. Nếu dùng các hàm tham chiếu cố định thì rất bất tiện, cứ thay đổi dữ liệu là phải sửa công thức.
Hàm OFFSET giúp giải quyết vấn đề này một cách ngon lành. Cú pháp của nó là:
OFFSET(reference, rows, cols, [height], [width])Trong đó:
reference: Ô hoặc vùng bắt đầu tham chiếu.rows: Số hàng dịch chuyển (có thể âm).cols: Số cột dịch chuyển (có thể âm).[height]: Số hàng của vùng trả về (tùy chọn).[width]: Số cột của vùng trả về (tùy chọn).
Ví dụ, nếu mình muốn tính tổng doanh thu của 3 tháng gần nhất, giả sử dữ liệu doanh thu nằm từ B2 đến B13 (tương ứng 12 tháng), và mình muốn công thức luôn lấy 3 ô cuối cùng, mình có thể dùng:
=SUM(OFFSET(B2, COUNT(B2:B13)-3, 0, 3, 1))Ở đây, COUNT(B2:B13) sẽ đếm số tháng có dữ liệu. Lấy tổng số tháng trừ đi 3 sẽ ra số hàng cần dịch chuyển để bắt đầu lấy 3 tháng cuối. 3 ở tham số height là lấy 3 hàng, 1 ở tham số width là lấy 1 cột.
Hàm này kết hợp với SUM, AVERAGE, hoặc các hàm khác cực kỳ mạnh mẽ để tạo các báo cáo tự động cập nhật. Có bác nào có kinh nghiệm dùng OFFSET hay có cách nào hay hơn để xử lý các bài toán tham chiếu động không, chia sẻ cho anh em học hỏi với ạ!