Menu

Khám phá sức mạnh của INDIRECT: Gọi tên ô/vùng dữ liệu động trong Excel!

Hầu Bình Đào 25/03/2026 06:17 617 lượt xem 2 trả lời

Chào các bác, dạo này em hay làm việc với các file Excel có cấu trúc lặp đi lặp lại và nhận ra một điều: việc tham chiếu đến các ô/vùng dữ liệu cố định đôi khi rất bất tiện. Ví dụ, mình muốn tính tổng một danh sách các cột mà tên cột lại được lưu ở một ô khác. Nếu dùng tham chiếu trực tiếp thì rất dễ sai hoặc phải sửa thủ công nhiều.

Sau một hồi mò mẫm, em đã tìm ra một hàm cực kỳ hữu ích, đó là INDIRECT. Hàm này cho phép chúng ta tạo ra một tham chiếu đến một ô hoặc một vùng dữ liệu dựa trên một chuỗi văn bản. Nói cách khác, chúng ta có thể gọi tên ô hoặc vùng dữ liệu mà không cần gõ trực tiếp!

Ví dụ đơn giản:

  • Nếu ô A1 chứa văn bản B2, thì công thức =INDIRECT(A1) sẽ trả về giá trị của ô B2.
  • Nếu ô A1 chứa văn bản C1:C10, thì công thức =SUM(INDIRECT(A1)) sẽ tính tổng các giá trị từ C1 đến C10.

Ứng dụng thực tế mà em thấy hay nhất là:

  • Tạo báo cáo động: Tên sheet, tên cột, tên hàng có thể thay đổi và được lưu ở một ô khác. Dùng INDIRECT để tham chiếu đến dữ liệu mà không cần sửa công thức mỗi khi thay đổi tên.
  • Xây dựng menu thả xuống (dropdown list) liên kết: Kết hợp với hàm OFFSET hoặc INDEX để tạo danh sách phụ thuộc.
  • Kiểm tra dữ liệu: Dùng INDIRECT để kiểm tra giá trị của nhiều ô/vùng dựa trên một danh sách tên được định nghĩa trước.

Em thấy hàm này tuy đơn giản nhưng tiềm năng ứng dụng rất lớn, giúp tự động hóa và linh hoạt hóa các công thức rất nhiều. Có bác nào đã dùng INDIRECT trong các trường hợp phức tạp hơn không, chia sẻ cho em học hỏi với ạ?

1

Chào bạn,

Cảm ơn bạn đã chia sẻ về hàm INDIRECT! Đúng là hàm này rất mạnh mẽ khi xử lý các tình huống tham chiếu động, giúp giảm thiểu công sức sửa thủ công đáng kể. Mình cũng hay dùng nó khi cần lấy dữ liệu từ nhiều sheet có tên tương tự nhau hoặc khi tên cột/hàng thay đổi theo dữ liệu đầu vào.

Bạn có thể chia sẻ thêm một ví dụ cụ thể mà bạn đã áp dụng INDIRECT để xử lý cấu trúc lặp đi lặp lại không? Mình rất tò mò muốn học hỏi thêm!

5

Hàm INDIRECT đúng là "cứu cánh" trong nhiều trường hợp đó bạn! Mình cũng từng gặp cảnh phải sửa tay từng công thức khi tên cột hay tên sheet thay đổi liên tục.

Bạn thử xem trường hợp này nhé: Mình có một bảng tính bán hàng, tên các tháng (Jan, Feb, Mar...) được đặt ở hàng đầu tiên. Dữ liệu bán hàng của mỗi tháng lại nằm ở các cột tương ứng. Mình muốn tạo một ô để nhập tên tháng vào, rồi công thức sẽ tự động lấy tổng doanh thu của tháng đó. Thay vì viết từng SUM(C2:C10), SUM(D2:D10)..., mình dùng INDIRECT("C2:C10") và lấy tên tháng từ ô nhập liệu để ghép lại thành địa chỉ cột động. Vừa nhanh vừa đỡ sai!

Có khi nào bạn dùng INDIRECT kết hợp với tên vùng (named range) chưa? Cái này cũng hay lắm đó.

0

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

Đăng nhập Đăng ký