Fungsi XLOOKUP di Excel tidak hanya untuk pencarian sederhana, tetapi juga dapat digunakan untuk membuat sistem pencarian dinamis yang merespons input pengguna secara real-time. Dalam tutorial ini, Anda akan mempelajari cara menggunakan XLOOKUP untuk membuat pencarian dinamis, filter data otomatis, dan dashboard interaktif.
Dengan menggabungkan kekuatan XLOOKUP dengan fungsi Excel modern lainnya seperti FILTER dan SORT, Anda dapat membuat spreadsheet yang lebih interaktif, user-friendly, dan powerful. Mari kita pelajari teknik-teknik praktisnya!
Daftar Isi Tutorial
1. Konsep Dynamic Search dengan XLOOKUP
Dynamic Search adalah sistem pencarian yang memberikan hasil secara real-time saat pengguna mengetik. XLOOKUP sangat cocok untuk ini karena kemampuannya mengembalikan array dinamis dan mendukung wildcard.
Real-time Response
Hasil pencarian langsung berubah saat pengguna mengetik di sel input, tanpa perlu menekan Enter.
Wildcard Support
XLOOKUP mendukung wildcard (* dan ?) untuk pencarian partial atau mengandung teks tertentu.
Array Dinamis
XLOOKUP dapat mengembalikan array dinamis yang otomatis menyesuaikan ukurannya.
2. Membuat Pencarian Dasar dengan XLOOKUP
Mari mulai dengan membuat sistem pencarian dasar yang mencari data berdasarkan input pengguna.
Struktur Data Contoh:
// | ID | Nama | Departemen | Posisi | Gaji |
// |----|------|------------|--------|------|
// | K001 | Andi | IT | Developer | 8500000 |
// | K002 | Budi | Marketing | Manager | 12000000 |
// | K003 | Citra | HR | Specialist | 7500000 |
Formula Pencarian Dasar:
=XLOOKUP(F2, TabelKaryawan[ID], TabelKaryawan[Nama])
// Pencarian dengan multiple return
=XLOOKUP(F2, TabelKaryawan[ID], TabelKaryawan[[Nama]:[Gaji]])
// Mengembalikan array dengan semua informasi karyawan
// Dengan penanganan error
=XLOOKUP(F2, TabelKaryawan[ID], TabelKaryawan[Nama], "Data tidak ditemukan")
3. Pencarian Partial dengan Wildcard
XLOOKUP mendukung wildcard untuk pencarian yang lebih fleksibel, cocok untuk dynamic search.
=XLOOKUP("*"&F2&"*", TabelKaryawan[Nama], TabelKaryawan[[Nama]:[Gaji]], , 2)
// Mencari nama yang mengandung teks di F2
// Pencarian diawali dengan teks
=XLOOKUP(F2&"*", TabelKaryawan[Nama], TabelKaryawan[Departemen], , 2)
// Mencari nama yang diawali dengan teks di F2
// Pencarian diakhiri dengan teks
=XLOOKUP("*"&F2, TabelKaryawan[Nama], TabelKaryawan[Posisi], , 2)
// Mencari nama yang diakhiri dengan teks di F2
Implementasi Dynamic Search:
=IF(F2="", "", XLOOKUP("*"&F2&"*", TabelKaryawan[Nama], TabelKaryawan[[Nama]:[Gaji]], "Tidak ditemukan", 2))
// Menampilkan hasil hanya jika F2 tidak kosong
Teknik Dynamic Search dengan XLOOKUP
4. Kombinasi XLOOKUP dengan FILTER
Untuk menampilkan multiple results yang sesuai dengan kriteria pencarian, kombinasikan XLOOKUP dengan FILTER.
=FILTER(TabelKaryawan, ISNUMBER(SEARCH(F2, TabelKaryawan[Nama])))
// Filter dengan multiple kondisi
=FILTER(TabelKaryawan,
(ISNUMBER(SEARCH(F2, TabelKaryawan[Nama])))*(TabelKaryawan[Departemen]=G2))
// Mencari nama mengandung F2 DAN departemen = G2
// Filter dan sort hasil
=SORT(FILTER(TabelKaryawan, ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))), 4, -1)
// Mengurutkan hasil berdasarkan gaji (kolom 4) descending
Advanced Dynamic Search:
=IF(F2="", TabelKaryawan,
SORT(FILTER(TabelKaryawan, ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))), 2, 1))
// Jika F2 kosong, tampilkan semua data,ćŠć filter dan sort by nama
5. Membuat Dropdown Pencarian Dinamis
Buat dropdown yang menampilkan hasil pencarian dinamis menggunakan Data Validation.
Langkah-langkah:
- Siapkan Range Hasil: Buat range yang menampilkan hasil pencarian dinamis
- Buat Data Validation: Gunakan List yang merujuk ke range hasil
- Implementasi Formula: Gunakan kombinasi fungsi untuk dynamic dropdown
=IFERROR(INDEX(FILTER(TabelKaryawan[Nama], ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))), ROW(H1)), "")
// Data Validation di sel G2
// Allow: List
// Source: =$H$2:$H$100
6. Multiple Criteria Search
Untuk pencarian yang lebih kompleks, gunakan multiple criteria dengan XLOOKUP dan FILTER.
=FILTER(TabelKaryawan,
(ISNUMBER(SEARCH(F2, TabelKaryawan[Nama])))*(TabelKaryawan[Departemen]=G2)*(TabelKaryawan[Gaji]>=H2))
// Pencarian dengan OR condition
=FILTER(TabelKaryawan,
(ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))+(TabelKaryawan[Departemen]=G2))
// + operator untuk OR condition
// Dynamic multiple criteria
=LET(criteria, (ISNUMBER(SEARCH(F2, TabelKaryawan[Nama])))*(IF(G2="",1,TabelKaryawan[Departemen]=G2)),
FILTER(TabelKaryawan, criteria))
// Menggunakan LET untuk formula yang lebih efisien
7. Dashboard Pencarian Interaktif
Buat dashboard lengkap dengan berbagai jenis pencarian dan visualisasi data.
Komponen Dashboard:
| Komponen | Fungsi | Formula Contoh |
|---|---|---|
| Search Box | Input pencarian utama | Sel F2 (input manual) |
| Results Table | Menampilkan hasil pencarian | =FILTER(TabelKaryawan, ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))) |
| Summary Stats | Statistik hasil pencarian | =COUNTA(UNIQUE(FILTER(TabelKaryawan[ID], ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))))) |
| Department Filter | Filter berdasarkan departemen | Dropdown di G2 |
Formula Dashboard Lengkap:
=LET(searchTerm, F2, deptFilter, G2,
nameMatch, ISNUMBER(SEARCH(searchTerm, TabelKaryawan[Nama])),
deptMatch, IF(deptFilter="", 1, TabelKaryawan[Departemen]=deptFilter),
SORT(FILTER(TabelKaryawan, nameMatch*deptMatch), 2, 1))
// Jumlah hasil
=ROWS(FILTER(TabelKaryawan[ID], ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))))
// Rata-rata gaji hasil pencarian
=AVERAGE(FILTER(TabelKaryawan[Gaji], ISNUMBER(SEARCH(F2, TabelKaryawan[Nama]))))
8. Download Template Praktik
Untuk membantu Anda mempraktikkan teknik dynamic search dengan XLOOKUP, kami menyediakan template gratis yang berisi:
- Contoh tabel karyawan dengan data lengkap
- Berbagai jenis sistem pencarian dinamis
- Dashboard pencarian interaktif lengkap
- Contoh multiple criteria search
- Teknik advanced dengan LET dan LAMBDA
Yang Anda Dapatkan dalam Template
đ Data Contoh
Tabel karyawan dengan 50+ records untuk praktik
đ Basic Search
Sistem pencarian dasar dengan XLOOKUP
đ Dynamic Filter
Pencarian real-time dengan FILTER
đ Dashboard Interaktif
Dashboard lengkap dengan multiple criteria
Pertanyaan yang Sering Diajukan (FAQ)
Gunakan kombinasi XLOOKUP dengan FILTER dan fungsi lainnya untuk membuat sistem pencarian yang merespons input secara real-time.
Ya, XLOOKUP lebih fleksibel karena dapat mengembalikan array dinamis, mendukung wildcard, dan memiliki penanganan error yang lebih baik.
Gunakan wildcard (*) dalam parameter lookup_value dengan match_mode 2 untuk pencarian partial atau mengandung teks tertentu.
Kombinasikan XLOOKUP dengan Data Validation untuk membuat dropdown yang menampilkan hasil pencarian secara dinamis.