Menu

Tối ưu hóa báo cáo với hàm OFFSET: Tuyệt chiêu tham chiếu linh hoạt

Dai Duy Sa 30/03/2026 17:04 609 lượt xem 2 trả lời

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 ạ!

1

Cảm ơn bạn đã chia sẻ về hàm OFFSET, đúng là một "tuyệt chiêu" để xử lý các báo cáo động. Mình cũng hay dùng hàm này để lấy dữ liệu theo tháng hoặc theo quý mà không cần phải sửa công thức mỗi khi có thêm dữ liệu mới.

Ngoài ra, bạn có thể kết hợp OFFSET với MATCH để tìm kiếm và tham chiếu đến một ô cụ thể trong một vùng dữ liệu thay đổi. Ví dụ, tìm doanh thu của một mặt hàng cụ thể trong quý hiện tại. Cách này rất mạnh mẽ khi làm báo cáo tổng hợp.

3

Mình thấy hàm OFFSET này đúng là "cứu cánh" cho nhiều bài toán báo cáo phức tạp. Cái vụ tham chiếu đến vùng dữ liệu thay đổi kích thước mà không cần sửa công thức là điểm cộng lớn nhất.

Bạn có thể chia sẻ thêm một ví dụ cụ thể hơn về cách dùng OFFSET để lấy "tổng doanh thu 3 tháng gần nhất" được không? Mình muốn hình dung rõ hơn cách nó hoạt động trong trường hợp này.

Đúng là một chia sẻ rất hay về hàm OFFSET! Mình cũng từng gặp khó khăn với các báo cáo cần cập nhật dữ liệu liên tục. Hàm này giúp tự động hóa rất nhiều.

Mình có một mẹo nhỏ khi dùng OFFSET là hay kết hợp nó với hàm COUNTA để xác định số hàng hoặc cột cần tham chiếu một cách tự động. Ví dụ, nếu muốn lấy toàn bộ dữ liệu trong một cột mà không biết trước có bao nhiêu dòng, dùng COUNTA sẽ giúp OFFSET xác định đúng phạm vi. Rất tiện!

Cảm ơn bạn đã giới thiệu hàm OFFSET! Mình đang cần một giải pháp cho việc này. Trước giờ cứ mỗi lần có thêm dữ liệu là lại phải chỉnh lại các tham chiếu, mất kha khá thời gian.

Cho mình hỏi, nếu mình muốn dùng OFFSET để lấy một "dải" dữ liệu động (ví dụ: từ ngày A đến ngày B, mà số ngày này có thể thay đổi), thì có cách nào để xác định rowscolumns một cách linh hoạt không?

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký