TL;DR
INDIRECT di Google Sheets ngubah teks jadi referensi sel atau range yang beneran kebaca rumus. Kamu bisa nunjuk sel dari hasil ketikan di sel lain, jadi referensinya berubah otomatis tanpa ngedit rumus. Paling kepakai buat tarik data antar sheet dan bikin dropdown bertingkat.
INDIRECT di Google Sheets ngubah teks jadi referensi sel yang beneran dibaca rumus. Jadi kamu bisa nunjuk sel atau range dari sebuah string, misalnya dari hasil ketikan di sel lain.
Kelihatan sepele, tapi ini yang bikin rumus kamu bisa "pindah target" tanpa diedit satu-satu. Ganti nama sheet di satu sel, semua rekap ikut nunjuk ke sheet baru.
Di artikel ini kamu bakal tau cara pakai INDIRECT dari nol, gabungin sama referensi antar sheet, sampai bikin dropdown bertingkat yang rapi.
INDIRECT adalah fungsi yang baca sebuah teks lalu memperlakukannya sebagai alamat sel. Kalau di sel A1 ada tulisan B5, maka =INDIRECT(A1) bakal ngambil isi sel B5, bukan tulisan "B5". Referensinya jadi bisa dirakit dari teks yang berubah-ubah.
Bedanya sama referensi biasa: =B5 selalu nunjuk B5. Tapi =INDIRECT("B" & C1) nunjuk kolom B baris berapa pun yang kamu ketik di C1. Alamatnya kamu susun sendiri dari potongan teks.
INDIRECT(referensi_teks, [is_A1])
Kebanyakan kasus cukup argumen pertama. Notasi R1C1 jarang kepakai buat kerjaan harian.
Intinya: rakit alamat sel jadi teks dulu, baru bungkus pakai INDIRECT. Ikutin langkah ini biar kebayang.
7 di sel C1.=INDIRECT("A" & C1). Ini bakal ngambil isi sel A7.12. Hasilnya langsung pindah nunjuk A12, tanpa kamu ngedit rumus.Contoh gabungan teks dan angka:
=INDIRECT("A" & C1) → isi sel di kolom A, baris sesuai C1
=INDIRECT(D1 & "5") → isi sel di kolom sesuai D1, baris 5
=SUM(INDIRECT("B2:B" & E1)) → jumlah B2 sampai baris sesuai E1
Rumus terakhir tadi berguna banget buat range yang panjangnya berubah-ubah. Isi E1 pakai 100, range-nya B2:B100. Naikin jadi 500, range ikut memanjang.
Ini kasus paling sering. Kamu punya sheet per bulan (Januari, Februari, dst) dengan struktur sama. Kamu mau satu rekap yang bisa ganti-ganti sumber sheet cuma dari dropdown.
Formatnya: nama sheet, tanda seru, lalu alamat sel.
=INDIRECT(A1 & "!B2")
Kalau A1 berisi Januari, rumus ini ngambil sel B2 dari sheet Januari. Ganti A1 jadi Februari, dia pindah ke sheet Februari. Satu rumus, semua bulan kebaca.
Hati-hati kalau nama sheet ada spasi, misalnya Data Januari. Bungkus pakai tanda kutip satu:
=INDIRECT("'" & A1 & "'!B2")
Tanpa kutip satu, Google Sheets bakal bingung baca nama sheet yang ada spasinya dan keluar #REF!.
Dropdown bertingkat itu pas pilihan di dropdown kedua nyesuain sama pilihan pertama. Misal pilih kategori "Minuman", dropdown kedua cuma munculin produk minuman.
Triknya pakai named range plus INDIRECT.
Minuman dan Makanan.=INDIRECT(A2), di mana A2 adalah sel kategori.Minuman, INDIRECT baca named range Minuman dan cuma nampilin isinya.Buat bikin daftar nilai uniknya dulu, biasanya aku pakai fungsi UNIQUE. Buat gabungin teks pemisah alamatnya, named range bikin rumusnya jauh lebih kebaca.
Di dataset toko_berkah ngulikdata ada 12 sheet bulanan, dari Januari sampai Desember, masing-masing 1.240 baris transaksi. Struktur kolomnya persis sama tiap sheet.
Dulu rekapnya dibikin 12 kali, satu rumus per bulan. Tiap ada kolom baru, semua rumus harus diedit ulang. Makan waktu.
Dengan INDIRECT, cukup satu blok rekap. Nama bulan taruh di dropdown sel B1, terus:
=SUM(INDIRECT("'" & B1 & "'!D2:D1241"))
Kolom D itu total transaksi. Ganti bulan di B1, angka total ikut ganti. Dari yang tadinya ngedit 12 rumus tiap ada perubahan, sekarang cukup 1. Waktu bikin rekap bulanan turun dari sekitar 15 menit jadi di bawah 1 menit.
Buat lookup nilai spesifik di dalam sheet yang dituju, INDIRECT enak dipadu sama INDEX MATCH atau SUMIF.
| Masalah | Penyebab | Solusi |
|---|---|---|
#REF! terus | Nama sheet ada spasi tapi ga dibungkus kutip satu | Pakai "'" & A1 & "'!B2" |
| Hasil kosong | Teks alamatnya salah ketik, misal kurang tanda seru | Cek pola: nama sheet + "!" + sel |
| Rumus lambat | Kebanyakan INDIRECT di file besar | Batasi jumlahnya, INDIRECT itu volatile dan ngitung ulang terus |
| Ga ikut kepindah pas insert baris | INDIRECT ga nyesuain otomatis kayak referensi biasa | Sadari ini memang sifatnya, alamatnya statis berdasarkan teks |
Satu hal penting: INDIRECT itu volatile function. Dia ngitung ulang tiap ada perubahan apa pun di sheet. Kalau dipakai ratusan kali, file bisa berasa berat. Pakai secukupnya.
Referensi biasa kayak =B5 nunjuk sel yang tetap dan ikut geser kalau kamu insert baris. INDIRECT nunjuk sel berdasarkan teks alamat, jadi kamu bisa ganti targetnya dari isi sel lain. Tapi dia ga ikut geser otomatis pas ada perubahan struktur, karena alamatnya dirakit dari string.
Paling sering gara-gara teks alamatnya salah. Cek nama sheet ketik bener, ada tanda seru sebelum sel, dan kalau nama sheet ada spasi, bungkus pakai kutip satu. Kalau sheet yang dituju udah kehapus, INDIRECT juga bakal keluar #REF! karena targetnya ga ada.
Bisa, kalau kamu pakai banyak. INDIRECT itu volatile, artinya dia ngitung ulang tiap kali ada perubahan di file, walau ga nyentuh selnya. Buat file kecil ga kerasa. Buat file ribuan baris dengan ratusan INDIRECT, mendingan cari alternatif kayak referensi langsung atau QUERY.
Nggak bisa langsung. INDIRECT cuma kerja di dalam satu file. Buat narik data dari file lain, kamu perlu IMPORTRANGE dulu buat masukin datanya, baru INDIRECT bisa nunjuk hasilnya di dalam file yang sama.
Pakai pas kamu butuh referensi yang berubah berdasarkan input, misalnya ganti sheet sumber lewat dropdown atau range yang panjangnya dinamis. Kalau referensinya tetap, ga usah pakai INDIRECT. Rumus biasa lebih ringan dan lebih gampang dibaca.
INDIRECT bikin referensi kamu fleksibel: rakit alamat sel dari teks, ganti target cuma dari isi satu sel, dan satu rumus bisa layani banyak sheet. Paling kuat buat rekap antar bulan dan dropdown bertingkat.
Ingat dua hal: bungkus nama sheet berspasi pakai kutip satu, dan jangan berlebihan karena INDIRECT itu volatile.
Mau lancar rumus Google Sheets sampai ke lookup dan agregasi? Latihan langsung di NgulikSheet dan lanjut baca INDEX MATCH Google Sheets. Buat detail resmi, cek dokumentasi INDIRECT dari Google.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
SUMIFS ribet kalau kriterianya banyak dan sering ganti. Rumus database Excel kayak DSUM baca kriteria dari sel terpisah, jadi kamu tinggal ubah tabel kecil tanpa nyentuh rumus.
DATEDIF ngasih umur bulat, tapi kadang kamu butuh angka desimal kayak 27,6 tahun buat hitung masa kerja atau bunga. YEARFRAC ngasih pecahan tahun dengan presisi.
Cara pakai rumus EDATE Excel buat menambah atau mengurangi bulan dari sebuah tanggal. Cocok buat jatuh tempo, tanggal kedaluwarsa, dan jadwal cicilan UMKM.