Công thức Excel: Tham chiếu ô tăng dần với INDIRECT -

Công thức chung

=INDIRECT(sheet&"!"&CELL("address",A1))

Tóm lược

Để tăng một tham chiếu được tạo dưới dạng văn bản bên trong hàm INDIRECT, bạn có thể sử dụng hàm CELL. Trong ví dụ được hiển thị, công thức trong D5 là:

=INDIRECT($B$5&"!"&CELL("address",A1))

Gia số nào khi công thức được sao chép xuống.

Giải trình

Hãy xem xét một tham chiếu động đơn giản đến Sheet2 bằng cách sử dụng INDIRECT trong một công thức như sau:

=INDIRECT($B$5&"!"&"A1"))

Nếu chúng tôi thay đổi tên trang tính trong B5 thành một tên khác (hợp lệ), INDIRECT sẽ trả về một tham chiếu đến A1 trong trang tính mới.

Tuy nhiên, nếu chúng tôi sao chép công thức này xuống cột, thì tham chiếu đến A1 sẽ không thay đổi vì "A1" được mã hóa cứng dưới dạng văn bản.

Để giải quyết vấn đề này, chúng tôi sử dụng hàm CELL để tạo tham chiếu văn bản từ tham chiếu ô thông thường:

CELL("address",A1)

Với "address" là đối số đầu tiên và A1 là đối số thứ hai, hàm CELL trả về một chuỗi như "$ A $ 1". Bởi vì A1 là một tham chiếu ô thông thường, nó sẽ tăng bình thường khi công thức được sao chép xuống cột. Kết quả trong D5: D9 là một loạt các công thức như sau:

=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")

Trong mỗi trường hợp, INDIRECT giải quyết từng chuỗi văn bản thành một tham chiếu và Excel trả về giá trị tại ô đã cho trong Sheet2.

Lưu ý: cả INDIRECT và CELL đều là các hàm dễ bay hơi và được tính toán lại với mọi thay đổi trang tính. Điều này có thể gây ra các vấn đề về hiệu suất trong các trang tính phức tạp hơn.

thú vị bài viết...