TL;DR
Rumus INDIRECT di Excel ngubah teks jadi referensi sel atau range yang beneran, dengan format =INDIRECT(teks_referensi). Misalnya =INDIRECT("Jan!B5") ngambil isi sel B5 dari sheet Jan. Kegunaan utamanya bikin rekap yang sumbernya bisa dipindah lewat dropdown: ganti pilihan dropdown dari Jan ke Feb, seluruh laporan langsung ambil dari sheet Feb. Tapi INDIRECT itu volatile dan gak bisa nunjuk file yang lagi ketutup.
Rumus INDIRECT di Excel ngubah teks jadi alamat sel yang beneran. Formatnya: =INDIRECT(teks_referensi).
=INDIRECT("B5") ngambil isi sel B5. Kedengeran gak guna, kenapa gak langsung tulis =B5?
Karena teksnya bisa dirakit. =INDIRECT(A1&"!B5") ngambil sel B5 dari sheet yang namanya ditulis di A1. Ganti isi A1 dari "Jan" ke "Feb", rumusnya langsung nunjuk sheet lain.
Satu dropdown, 12 sheet, nol rumus yang perlu diedit.
INDIRECT adalah fungsi Excel yang nerima teks dan ngembaliin referensi sel yang teksnya itu tunjuk. Bedanya sama referensi biasa: alamat selnya gak ditulis mati di rumus, tapi dirakit dari potongan teks yang bisa berubah-ubah.
| Argumen | Wajib? | Isinya |
|---|---|---|
| ref_text | Ya | Teks yang berisi alamat sel. Bisa "B5", "Jan!B5", atau nama range. |
| a1 | Nggak | TRUE (bawaan) = gaya A1. FALSE = gaya R1C1. |
Perhatiin: yang masuk ke INDIRECT itu teks, bukan referensi. Tanda kutipnya wajib.
=INDIRECT("B5") → isi sel B5
=INDIRECT(B5) → isi sel yang alamatnya ditulis DI DALAM B5
Dua rumus ini beda jauh. Yang kedua: kalau B5 isinya teks "C10", rumusnya ngambil isi sel C10.
Ini kegunaan INDIRECT yang paling sering dipakai di dunia nyata.
Skenarionya: kamu punya 12 sheet bulanan (Jan, Feb, Mar, dst), semuanya bentuknya sama persis. Total penjualan selalu di sel B5.
Di sheet Rekap, pilih sel A1. Buka Data > Data Validation > List, terus ketik: Jan,Feb,Mar,Apr,Mei,Jun,Jul,Agu,Sep,Okt,Nov,Des.
=INDIRECT("'"&A1&"'!B5")
Kelihatan berantakan gara-gara tanda kutipnya. Bedah pelan-pelan:
"'": tanda kutip satu pembuka. Ini yang bikin nama sheet dengan spasi tetap aman.A1: nama sheet dari dropdown, misalnya "Feb"."'!B5": tanda kutip satu penutup, tanda seru, terus alamat selnya.Hasil rangkaiannya: 'Feb'!B5. INDIRECT baca teks itu dan ngambil isinya.
Ganti dropdown dari Jan ke Feb. Angkanya ganti sendiri.
Sekarang tarik pola ini ke semua sel rekap kamu: total penjualan, jumlah transaksi, produk terlaris. Satu klik dropdown, seluruh laporan pindah bulan.
Pilih "Minuman" di dropdown pertama, dropdown kedua otomatis cuma nampilin produk minuman. Ini pakai INDIRECT juga.
Bikin tabel dengan kolom per kategori. Kolom pertama isinya produk Minuman, kolom kedua produk Snack, dan seterusnya.
Pilih tiap kolom, terus kasih nama lewat Name Box, persis sama nama kategorinya. Named range Minuman, Snack, Sembako.
Nama range gak boleh ada spasi. Kalau kategorimu "Makanan Ringan", pakai underscore: Makanan_Ringan.
Data Validation biasa di sel A2, isinya daftar kategori.
Pilih sel B2. Data Validation > List. Di kotak Source, tulis:
=INDIRECT(A2)
Kalau A2 isinya "Minuman", INDIRECT nunjuk ke named range Minuman, dan dropdown B2 cuma nampilin isi range itu.
Ganti A2 jadi "Snack", isi dropdown B2 langsung ganti. Gak perlu macro, gak perlu rumus tambahan.
Dataset toko_berkah punya 12 sheet cabang, satu sheet per kota. Tiap sheet bentuknya identik, hasil ekspor dari sistem kasir.
Sebelum pakai INDIRECT, orang yang megang file bikin 12 blok rumus terpisah di sheet Rekap. Total 84 rumus.
Masalahnya muncul waktu ada penambahan kolom di sistem kasir. Semua sel B5 geser jadi C5. Yang harus diedit? 84 rumus.
Yang keedit cuma 79. Lima sisanya salah selama dua bulan sebelum ketauan.
Versi INDIRECT: satu dropdown, 7 rumus. Kalau ada kolom baru, yang diedit cuma 7 rumus, dan semuanya kelihatan di satu layar.
| Metrik | Cara lama | Pakai INDIRECT |
|---|---|---|
| Jumlah rumus di sheet Rekap | 84 | 7 |
| Waktu edit kalau struktur berubah | 25 menit | 2 menit |
| Rumus salah setelah edit terakhir | 5 | 0 |
Yang mahal bukan 25 menitnya. Yang mahal itu dua bulan laporan salah karena 5 rumus kelewat, dan gak ada satu pun error yang muncul buat ngasih tau.
INDIRECT bisa nunjuk file Excel lain, tapi cuma kalau file itu lagi kebuka. Begitu ditutup, langsung #REF!.
Referensi biasa masih nyimpen nilai terakhirnya. INDIRECT nggak. Buat ambil data dari file yang ketutup, pakai Power Query.
INDIRECT itu volatile, dia ngitung ulang tiap ada perubahan apa pun di workbook. Kamu ngetik satu angka di sheet lain? Semua INDIRECT ngitung ulang.
Di 20 sel ringkasan, ini gak kerasa. Di 5.000 sel, Excel bakal nge-lag tiap kali kamu ngetik satu huruf.
Ini masalah yang sama kayak fungsi OFFSET. Dua-duanya volatile, dua-duanya harus dipakai secukupnya.
Kalau kamu pakai INDIRECT cuma buat gabungin 12 sheet yang bentuknya sama, pertimbangkan gabungin datanya jadi satu tabel dulu pakai Power Query, terus pakai pivot table.
INDIRECT itu tambalan yang bagus buat file yang udah terlanjur kepisah. Bukan cara terbaik buat mulai dari nol.
Sheet namanya "Jan 2026" dengan spasi. Rumus =INDIRECT(A1&"!B5") keluar #REF!.
Bungkus pakai kutip satu: =INDIRECT("'"&A1&"'!B5"). Ini jalan buat semua nama sheet, pakai spasi atau nggak. Biasain langsung pakai versi ini.
Dropdown isinya "Januari" tapi sheet-nya bernama "Jan". INDIRECT gak bisa nebak.
Cek dulu teks yang dihasilin, di sel terpisah:
="'"&A1&"'!B5"
Kalau hasilnya 'Januari'!B5 padahal sheet-nya "Jan", ketauan salahnya di mana.
Ini jebakan yang paling jahat. Referensi biasa ikut berubah otomatis kalau kamu rename sheet. INDIRECT nggak, dia cuma baca teks.
Rename sheet "Jan" jadi "Januari", semua INDIRECT yang nunjuk "Jan" langsung #REF!.
Buat dropdown bertingkat, named range gak boleh ada spasi. "Makanan Ringan" harus jadi "Makanan_Ringan", dan isi dropdown pertamanya juga harus ditulis dengan underscore, kalau nggak, INDIRECT gak ketemu range-nya.
Di beberapa versi Excel lama, INDIRECT gak jalan di conditional formatting yang nunjuk sheet lain. Kalau kamu kena ini, salin dulu datanya ke sheet yang sama.
INDIRECT ngubah teks jadi referensi sel atau range yang beneran. Kegunaan utamanya bikin alamat sel yang bisa dirakit dari potongan teks, jadi satu rumus bisa nunjuk ke sheet yang berbeda-beda tergantung isi dropdown.
Bikin dropdown berisi nama sheet di sel A1, terus tulis =INDIRECT("'"&A1&"'!B5") buat ngambil sel B5 dari sheet yang lagi kepilih. Nama sheet-nya harus dibungkus tanda kutip satu supaya aman kalau ada spasi.
Karena teks yang kamu kasih bukan alamat yang valid. Penyebab paling sering: nama sheet salah ketik, sheet-nya udah dihapus, atau ada spasi di nama sheet tapi kamu gak bungkus pakai tanda kutip satu. Cek dulu hasil teksnya di sel terpisah.
Bisa, tapi cuma kalau file itu lagi kebuka. Begitu file sumbernya ditutup, INDIRECT langsung #REF!, padahal referensi biasa masih nyimpen nilai terakhirnya. Kalau kamu perlu ngambil data dari file yang ketutup, pakai Power Query.
Iya, kalau kebanyakan. INDIRECT itu fungsi volatile, dia ngitung ulang tiap kali ada perubahan apa pun di workbook. Pakai buat sel ringkasan, jangan ditarik ke ribuan baris. Detail argumennya ada di dokumentasi fungsi INDIRECT Microsoft.
Tiga hal yang perlu kamu inget:
=INDIRECT("'"&A1&"'!B5"): pola yang paling sering kepake. Hafalin bentuk tanda kutipnya.=INDIRECT(A2) di Data Validation. Named range gak boleh ada spasi.Coba di file rekap kamu yang paling banyak sheet-nya. Bikin dropdown, ganti satu blok rumus, lihat bedanya.
Mau bikin dashboard yang range-nya ikut melar sendiri? Baca panduan rumus OFFSET. Dia partner alami INDIRECT. Buat yang mau ngerti dasar lookup, ada panduan INDEX MATCH lengkap.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Cara pakai rumus FV dan PV Excel buat hitung nilai uang di masa depan dan sekarang. Lengkap dengan contoh tabungan dan target modal UMKM.
Investasi kelihatan untung di atas kertas, tapi nilai uang berubah tiap tahun. NPV dan IRR Excel bantu kamu nilai apakah proyek beneran layak, bukan cuma kelihatan untung.
Sebelum ambil pinjaman, kamu bisa hitung sendiri cicilan bulanannya pakai satu rumus. Ini cara PMT Excel bekerja, lengkap dengan contoh modal usaha dan jebakan bunga tahunan.