Hàm INDIRECT trong Excel
Hàm INDIRECT trong Excel

Tóm lược

Hàm INDIRECT trong Excel trả về một tham chiếu hợp lệ từ một chuỗi văn bản nhất định. INDIRECT hữu ích khi bạn muốn chuyển đổi một giá trị văn bản thành một tham chiếu ô hợp lệ.

Mục đích
Tạo tham chiếu từ văn bản

Giá trị trả lại
Tham chiếu trang tính hợp lệ.

Cú pháp
= INDIRECT (ref_text, [a1])
Tranh luận
  • ref_text – Một tham chiếu được cung cấp dưới dạng văn bản.
  • a1 – [optional] Một boolean để chỉ ra tham chiếu kiểu A1 hoặc R1C1. Mặc định là kiểu TRUE = A1.
Phiên bản
Ghi chú sử dụng

Hàm INDIRECT trả về một tham chiếu hợp lệ từ một chuỗi văn bản nhất định. INDIRECT hữu ích khi bạn muốn chuyển đổi một giá trị văn bản thành một tham chiếu ô hợp lệ. Ví dụ: để tạo tham chiếu đến ô A1 từ văn bản, bạn có thể sử dụng INDIRECT như sau:

=INDIRECT("A1") // returns reference to A1

Mục đích của INDIRECT thoạt đầu có vẻ khó hiểu (tức là tại sao lại sử dụng văn bản khi bạn chỉ có thể cung cấp một tham chiếu thích hợp?) Nhưng có nhiều trường hợp trong đó khả năng tạo tham chiếu từ văn bản là hữu ích, bao gồm:

  • Một công thức cần một Biến đổi tên trang tính
  • Tham chiếu cố định sẽ không thay đổi ngay cả khi hàng hoặc cột bị xóa
  • Tạo mảng số bằng hàm ROW trong các công thức phức tạp

Lưu ý: INDIRECT là một chức năng dễ bay hơi và có thể gây ra các vấn đề về hiệu suất trong các trang tính lớn hoặc phức tạp.

Tên bảng biến đổi

Trong ví dụ được hiển thị ở trên, INDIRECT được thiết lập để sử dụng tên trang tính có thể thay đổi như sau:

=INDIRECT(B6&"!A1") // sheet name in B6 is variable

Công thức trong B6, được sao chép xuống, trả về giá trị trong ô A1 trong 5 trang tính đầu tiên bằng cách sử dụng tên trang tính đã nhập trong cột B. Nói cách khác, khi một tên trang tính khác được nhập vào cột B, một kết quả mới sẽ được trả về. Với cách tiếp cận tương tự, bạn có thể cho phép người dùng lựa chọn một tên trang tính với một danh sách thả xuống, sau đó tạo một tham chiếu đến trang tính đã chọn bằng INDIRECT.

Lưu ý: tên trang tính có chứa dấu câu hoặc dấu cách phải được đặt trong dấu ngoặc kép (‘), như được giải thích trong ví dụ này. Điều này không dành riêng cho hàm INDIRECT; điều này cũng đúng trong tất cả các công thức.

Tham chiếu cố định

Tham chiếu được tạo bởi INDIRECT sẽ không thay đổi ngay cả khi các ô, hàng hoặc cột được chèn hoặc xóa. Ví dụ: công thức bên dưới sẽ luôn tham chiếu đến 100 hàng đầu tiên của cột A, ngay cả khi các hàng trong phạm vi đó bị xóa hoặc bị chèn:

=INDIRECT("A1:A100") // will not change

Tạo mảng số

Cách sử dụng INDIRECT nâng cao hơn là tạo một số mảng với Chức năng ROW như thế này:

ROW(INDIRECT("1:10")) // create {1;2;3;4;5;6;7;8;9;10}

Một trường hợp sử dụng được giải thích trong công thức này, tính tổng n giá trị dưới cùng trong một phạm vi.

Bạn cũng có thể gặp phải ý tưởng này trong các công thức phức tạp hơn cần tập hợp một mảng số “nhanh chóng”. Một ví dụ là công thức này, được thiết kế để tách các ký tự số khỏi một chuỗi.

Ghi chú

  • Tài liệu tham khảo do INDIRECT tạo được đánh giá theo thời gian thực và nội dung của tài liệu tham khảo được hiển thị.
  • Khi nào ref_text là một tham chiếu bên ngoài đến một sổ làm việc khác, sổ làm việc phải mở.
  • a1 Là tùy chọn. Khi bị bỏ qua, a1 là tham chiếu kiểu TRUE = A1.
  • Khi nào a1 được đặt thành FALSE, INDIRECT sẽ tạo một tham chiếu kiểu R1C1.
  • INDIRECT là một chức năng dễ bay hơivà có thể gây ra các vấn đề về hiệu suất.

https://exceljet.net/excel-functions/excel-indirect-function