
Formula umum
=INDIRECT(sheet&"!"&CELL("address",A1))
Ringkasan
Untuk menambah referensi yang dibuat sebagai teks di dalam fungsi INDIRECT, Anda dapat menggunakan fungsi CELL. Dalam contoh yang ditampilkan, rumus di D5 adalah:
=INDIRECT($B$5&"!"&CELL("address",A1))
Yang bertambah sebagai rumus disalin.
Penjelasan
Pertimbangkan referensi dinamis sederhana untuk Sheet2 menggunakan TIDAK LANGSUNG dalam rumus seperti ini:
=INDIRECT($B$5&"!"&"A1"))
Jika kita mengubah nama sheet di B5 menjadi nama lain (valid), INDIRECT akan mengembalikan referensi ke A1 di sheet baru.
Namun, jika kita menyalin rumus ini ke bawah kolom, referensi ke A1 tidak akan berubah, karena "A1" di-hardcode sebagai teks.
Untuk mengatasi masalah ini, kami menggunakan fungsi CELL untuk menghasilkan referensi teks dari referensi sel biasa:
CELL("address",A1)
Dengan "alamat" sebagai argumen pertama, dan A1 sebagai argumen kedua, fungsi CELL mengembalikan string seperti "$ A $ 1". Karena A1 adalah referensi sel biasa, A1 akan bertambah secara normal saat rumus disalin ke bawah kolom. Hasil di D5: D9 adalah rangkaian rumus seperti ini:
=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")
Dalam setiap kasus, INDIRECT menyelesaikan setiap string teks menjadi referensi dan Excel mengembalikan nilai pada sel yang diberikan di Sheet2.
Catatan: baik INDIRECT dan CELL adalah fungsi yang mudah menguap dan dihitung ulang dengan setiap perubahan lembar kerja. Ini dapat menyebabkan masalah kinerja di lembar kerja yang lebih kompleks.