Dropdown Bertingkat di Google Sheets (Dependent List)
TL;DR
Dropdown bertingkat di Google Sheets adalah dua dropdown yang saling terhubung, di mana pilihan dropdown kedua berubah mengikuti isi dropdown pertama. Cara klasik pakai named range untuk tiap kategori lalu fungsi INDIRECT di data validation. Cara modern pakai fungsi FILTER di kolom bantu, lalu dropdown kedua baca dari kolom bantu itu. INDIRECT lebih pasti untuk daftar tetap, FILTER lebih fleksibel untuk data yang sering berubah.
Dropdown bertingkat di Google Sheets adalah dua dropdown yang saling nyambung. Pilihan dropdown kedua berubah tergantung apa yang kamu pilih di dropdown pertama.
Contoh gampangnya: pilih provinsi Jawa Barat, dropdown kota cuma nampilin Bandung, Bekasi, Depok. Pilih Jawa Timur, dropdown kota ganti jadi Surabaya, Malang, Kediri. Dropdown kedua nyaring dirinya sendiri.
Di bawah ini aku bahas dua cara: yang klasik pakai INDIRECT dan named range, dan yang modern pakai FILTER. Contohnya kategori produk toko_berkah.
Apa itu dropdown bertingkat?
Dropdown bertingkat, atau dependent dropdown, adalah dropdown yang isinya bergantung pada nilai di sel lain. Dropdown induk nentuin kategori, dropdown anak cuma nampilin pilihan yang masuk kategori itu. Tujuannya nyempitin pilihan biar input lebih cepat dan nggak salah pasang, misalnya nggak milih kota yang bukan bagian dari provinsi yang dipilih.
Ini lanjutan dari dropdown biasa. Kalau kamu belum familiar sama data validation dasar, mulai dari Data Validation Google Sheets dulu.
Cara bikin dropdown bertingkat pakai INDIRECT
Cara klasik. Idenya: tiap kategori dikasih named range, lalu INDIRECT nerjemahin teks pilihan jadi rujukan ke named range itu.
Anggap kamu punya sheet bantu dengan struktur ini: baris pertama nama provinsi, di bawahnya daftar kotanya.
- Bikin daftar tiap provinsi di kolom terpisah di sheet bantu. Kolom A kota Jawa Barat, kolom B kota Jawa Timur.
- Blok kota Jawa Barat, buka menu Data lalu Rentang bernama, kasih nama
Jawa_Barat. Ulangi buat tiap provinsi. Nama harus persis sama dengan teks pilihan, dan spasi diganti garis bawah. - Di sel dropdown provinsi (misal A2), pasang data validation biasa berisi daftar provinsi.
- Di sel dropdown kota (B2), pasang data validation dengan Rumus khusus, isi
=INDIRECT(SUBSTITUTE(A2; " "; "_")).
SUBSTITUTE ngubah "Jawa Barat" jadi "Jawa_Barat" biar cocok sama nama range. INDIRECT lalu ngambil isi range itu jadi pilihan dropdown. Ganti provinsi di A2, dropdown kota di B2 ikut ganti.
Cara kerja INDIRECT yang ngubah teks jadi rujukan sel aku jelasin lengkap di halaman fungsi INDIRECT.
Cara bikin dropdown bertingkat pakai FILTER
Cara modern, lebih fleksibel kalau datamu berupa dua kolom: kategori dan item. Nggak perlu bikin named range satu-satu.
Anggap sheet bantu punya kolom A kategori dan kolom B produk. Kamu mau dropdown kedua nampilin produk sesuai kategori terpilih di sel D2.
- Di sheet bantu, sel F2, tulis
=FILTER(B2:B; A2:A=Input!D2). Ini narik semua produk yang kategorinya cocok. Hasilnya numpuk ke bawah otomatis. - Di sel dropdown produk (Input!E2), pasang data validation Menu tarik-turun (dari rentang), tunjuk ke
=Bantu!F2:F.
Waktu kategori di D2 ganti, FILTER nge-update daftar di kolom F, dan dropdown produk ikut berubah soalnya dia baca dari situ. Detail sintaks FILTER ada di halaman fungsi FILTER.
Kelemahannya: cara ini cuma jalan buat satu baris input. Kalau kamu mau tiap baris di tabel besar punya dropdown bertingkat sendiri, INDIRECT lebih cocok soalnya rumusnya ikut tiap baris.
Named range vs FILTER, mana yang dipilih?
| Faktor | INDIRECT + named range | FILTER |
|---|---|---|
| Setup awal | Ribet, bikin range satu-satu | Cepat, satu rumus |
| Banyak baris input | Jalan, rumus per baris | Susah, cuma 1 baris |
| Data sering berubah | Perlu update range | Ikut otomatis |
| Jumlah kategori | Cocok kalau sedikit | Cocok kalau banyak |
Aturan praktisku: kalau kamu ngisi satu form input sekali jalan, pakai FILTER. Kalau kamu punya tabel entri panjang di mana tiap baris butuh dropdown kota sendiri, pakai INDIRECT.
Contoh kasus: kategori dan produk toko_berkah
Toko_berkah punya 6 kategori dan 214 produk. Waktu kasir input penjualan, mereka harus milih kategori dulu, baru produk. Tanpa dropdown bertingkat, dropdown produk isinya 214 item semua, dan kasir sering salah pilih produk dari kategori lain yang namanya mirip.
Aku pasang dropdown bertingkat pakai INDIRECT: kategori jadi dropdown induk, produk jadi dropdown anak. Sekali kasir pilih "Sembako", dropdown produk cuma nampilin 47 item sembako, bukan 214.
Efeknya kelihatan di data. Sebelum dropdown bertingkat, dari 1.240 baris input bulan itu, ada 88 baris di mana produk nggak nyambung sama kategorinya. Angka 88 itu 7,1% dari total, cukup buat bikin rekap per kategori meleset.
Setelah dipasang, salah pasang kategori produk turun jadi 3 baris, semuanya dari kasir baru yang belum hafal. Waktu input per transaksi juga turun, soalnya kasir milih dari 47 item, bukan nyari di 214.
Dropdown bertingkat itu keliatannya soal kerapian. Tapi efek nyatanya di akurasi rekap.
Kesalahan umum waktu bikin dropdown bertingkat
Nama range nggak cocok sama teks pilihan. Kalau dropdown provinsi nulis "Jawa Barat" tapi named range-nya "JawaBarat", INDIRECT gagal. Samain persis, dan urus spasi pakai SUBSTITUTE.
Lupa dropdown anak nggak reset. Waktu kamu ganti dropdown induk, isi dropdown anak yang lama nggak otomatis kehapus. Nilainya bisa jadi nggak valid diam-diam. Cek ulang atau pasang conditional formatting buat nandain yang nggak cocok.
FILTER dipakai buat banyak baris. FILTER cuma jalan buat satu sel input. Kalau kamu tarik ke bawah, hasilnya tabrakan. Buat tabel panjang, pakai INDIRECT.
Rentang FILTER terbatas. Nulis B2:B100 bikin produk ke-101 nggak kebaca. Pakai B2:B.
Nama kategori ada spasi tapi lupa SUBSTITUTE. INDIRECT nggak bisa baca named range yang ada spasi. Nama range wajib pakai garis bawah, dan rumusnya harus nerjemahin spasi jadi garis bawah.
FAQ
Kenapa dropdown bertingkat INDIRECT saya kosong?
Paling sering gara-gara nama named range nggak persis cocok sama teks di dropdown induk. INDIRECT nerjemahin teks jadi nama range, jadi kalau ada beda satu huruf atau spasi, dia nggak nemu dan hasilnya kosong. Cek named range lewat Data lalu Rentang bernama, pastiin namanya sama persis. Kalau teksnya ada spasi, bungkus pakai SUBSTITUTE biar spasi diganti garis bawah sebelum masuk INDIRECT.
Bisa nggak bikin dropdown bertingkat tiga level?
Bisa, tinggal ulang polanya. Dropdown level tiga baca dari INDIRECT yang ngerujuk gabungan level satu dan dua. Misalnya provinsi lalu kota lalu kecamatan. Named range-nya jadi lebih banyak, satu buat tiap kota. Level tiga ke atas mulai ribet dikelola, jadi kalau datamu dalam banget, mendingan pindah ke pendekatan FILTER dengan kolom bantu bertingkat, atau pertimbangkan pakai database beneran.
Apa bedanya pakai INDIRECT dan FILTER buat dropdown bertingkat?
INDIRECT butuh named range buat tiap kategori dan rumusnya ikut tiap baris, jadi cocok buat tabel input yang panjang. FILTER nggak butuh named range, cukup satu rumus yang narik item sesuai kategori, tapi cuma jalan buat satu baris input. Pilih INDIRECT kalau tiap baris tabel butuh dropdown sendiri. Pilih FILTER kalau kamu cuma ngisi satu form dan datamu sering berubah.
Gimana biar dropdown anak reset waktu dropdown induk berubah?
Google Sheets nggak reset otomatis, jadi nilai lama bisa nyangkut. Cara paling praktis: pasang conditional formatting di sel dropdown anak yang nandain merah kalau nilainya nggak ada di daftar valid, pakai rumus kayak =ISNA(MATCH(B2; INDIRECT(...); 0)). Kalau kamu butuh reset beneran otomatis, itu perlu Google Apps Script yang ngosongin sel anak tiap sel induk diedit. Buat kebanyakan kasus, penanda visual udah cukup.
Apakah dropdown bertingkat bisa dipakai di banyak baris sekaligus?
Bisa kalau pakai INDIRECT. Karena rumus data validation-nya ngerujuk sel di baris yang sama (misalnya A2 buat baris 2, A3 buat baris 3), dropdown-nya jalan mandiri di tiap baris. Tinggal salin aturan validasinya ke seluruh kolom. FILTER nggak bisa gini soalnya hasilnya numpuk dan bakal tabrakan antar baris. Jadi buat tabel entri panjang di mana tiap baris butuh dropdown kota sendiri, INDIRECT satu-satunya pilihan yang rapi.
Penutup
Ringkasnya:
- Dropdown bertingkat bikin pilihan kedua ikut pilihan pertama, jadi input lebih cepat dan akurat.
- INDIRECT plus named range cocok buat tabel panjang di mana tiap baris butuh dropdown sendiri.
- FILTER lebih cepat disetel dan cocok buat satu form dengan data yang sering berubah.
Buka sheet input kamu, siapin dua kolom kategori dan item di sheet bantu, lalu coba versi FILTER dulu. Itu yang paling cepat kelihatan hasilnya.
Mau nguatin sisi kualitas datanya? Gabungin sama aturan tolak input di Data Validation Google Sheets. Panduan resmi validasi ada di bantuan Google Docs Editors.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
Cara Menghitung Nilai Unik di Excel (2026)
Empat cara menghitung nilai unik di Excel, dari UNIQUE di Excel 365 sampai trik SUMPRODUCT COUNTIF buat versi lama. Plus hitung unik berkondisi.
Cara Membandingkan Dua Kolom di Excel (2026)
Lima cara membandingkan dua kolom di Excel yang paling sering kepakai buat rekap: dari rumus =A2=B2 sampai COUNTIF dan Conditional Formatting.
Cara Hapus Baris Kosong di Excel dengan Cepat
Ratusan baris kosong bikin data berantakan. Ini 4 cara hapus baris kosong di Excel, dari Go To Special yang kilat sampai Power Query yang paling aman.