ikuti Saluran WhatsApp Rumahdisolo.com. Klik WhatsApp

XLOOKUP vs LOOKUP, Mana Lebih Efektif?

Kalau kamu sering main Excel atau Google Sheets pasti pernah kebingungan milih fungsi lookup yang tepat. Dulu orang sukanya pakai **VLOOKUP** atau **LOOKUP**, sekarang muncul **XLOOKUP** yang bilangannya lebih powerfull. Di artikel ini kita bahas **XLOOKUP vs LOOKUP** secara tuntas — dari definisi, sintaks, contoh nyata, trik advanced, sampai rekomendasi kapan pakai masing-masing. Gaya santai, paragraf pendek, banyak contoh tabel & rumus biar kamu langsung praktek. Yuk gas! --- ## Ringkasan singkat (kalau mau cepat) * **LOOKUP**: fungsi lama, sederhana, cocok untuk pencarian dasar (biasanya approximate) — but hati-hati soal syarat data terurut. * **XLOOKUP**: fungsi modern di Excel (Microsoft 365 / Excel terbaru). Lebih fleksibel: lookup kiri, return array, opsi `if_not_found`, match/ search modes, dan reverse lookup. * **Kesimpulan singkat**: untuk kerjaan sehari-hari dan stabilitas, **XLOOKUP** lebih efektif dan lebih mudah dipakai daripada **LOOKUP**. Tapi kalau kamu pakai Google Sheets atau Excel versi lama, pakai LOOKUP / VLOOKUP / INDEX+MATCH. --- ## Daftar isi (biar gampang browsing) 1. Apa itu LOOKUP & XLOOKUP — gambaran singkat 2. Sintaks dan arti argumen (lengkap) 3. Contoh tabel + rumus siap pakai 4. Perbandingan fitur: tabel ringkas 5. Kasus nyata dan implementasi step-by-step 6. Trik lanjutan XLOOKUP: reverse, last match, nearest, wildcard 7. Error handling & best practice (IFERROR, sanitize input) 8. Kapan pakai LOOKUP / XLOOKUP / alternatif lain (INDEX+MATCH) 9. Performance & optimasi workbook besar 10. Latihan + solusi 11. Ringkasan & rekomendasi praktis --- ## 1. Apa itu LOOKUP & XLOOKUP — gambaran singkat **LOOKUP** itu fungsi lookup lama. Ada dua bentuknya: *vector form* dan *array form*. Biasanya digunakan untuk cari nilai di sebuah range; kalau tidak ketemu, LOOKUP cenderung mengembalikan nilai terdekat (approximate) sehingga butuh tabel terurut dalam banyak kasus. **XLOOKUP** adalah fungsi lookup modern yang diperkenalkan Microsoft untuk Excel pada produk Microsoft 365 / Excel terbaru. XLOOKUP menggantikan banyak keterbatasan VLOOKUP/HLOOKUP/LOOKUP. Fiturnya termasuk pencarian horizontal/vertikal, lookup kiri, nilai default saat tidak ketemu (`if_not_found`), berbagai mode pencocokan, dan mode pencarian (mis. dari belakang untuk dapat hasil terakhir). --- ## 2. Sintaks & arti argumen ### LOOKUP (vector form) ``` =LOOKUP(lookup_value, lookup_vector, [result_vector]) ``` * `lookup_value`: nilai yang dicari. * `lookup_vector`: satu baris atau satu kolom lokasi pencarian. * `result_vector` (opsional): range hasil dari kolom/ baris yang sejajar dengan lookup_vector. > Perilaku penting: LOOKUP melakukan *approximate match*, jadi jika `lookup_value` tidak ada, ia akan mengambil nilai terbesar yang ≤ `lookup_value`. Karena itu `lookup_vector` harus **diurutkan ascending** agar hasil benar. ### LOOKUP (array form) ``` =LOOKUP(lookup_value, array) ``` * `array` biasanya tabel; LOOKUP akan mengembalikan nilai di baris terakhir/kolom paling kanan yang cocok — perilakunya tricky, jarang dipakai modern. ### XLOOKUP (Excel modern) ``` =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) ``` * `lookup_value`: nilai yang dicari. * `lookup_array`: range (1D) tempat mencari. * `return_array`: range (1D) yang isinya nilai yang ingin dikembalikan (harus sejajar dengan lookup_array). * `if_not_found` (opsional): apa yang dikembalikan kalau gak ketemu (mis. "Tidak Ditemukan"). * `match_mode` (opsional): 0 = exact (default), -1 = exact or next smaller, 1 = exact or next larger, 2 = wildcard match. * `search_mode` (opsional): 1 = search first→last (default), -1 = search last→first (reverse), 2 = binary (ascending), -2 = binary (descending). Kelebihan XLOOKUP: `if_not_found` bikin rumus lebih bersih (nggak perlu IFERROR), `match_mode` dan `search_mode` memberikan kontrol lebih, dan kamu bisa lookup ke kiri tanpa trik. --- ## 3. Contoh tabel + rumus langsung pakai (step-by-step) Kita pakai beberapa contoh nyata supaya paham cara kerja. ### Contoh 1 — Cari harga produk (exact match) Tabel `Produk`: | Kode | Nama | Harga | | ---- | --------- | ----: | | P001 | Pensil | 3000 | | P002 | Buku | 5500 | | P003 | Penghapus | 2500 | Kalau di A6 ada kode `P002`, ambil harga: **Dengan LOOKUP (vector)** — perlu susun lookup_vector dan result_vector sejajar: ``` =LOOKUP(A6, A2:A4, C2:C4) ``` Tapi hati-hati: LOOKUP cenderung approximate; kalau A2:A4 tidak diurut, hasil bisa salah. Untuk kode biasanya kita pakai exact lookup (VLOOKUP/XLOOKUP). **Dengan XLOOKUP**: ``` =XLOOKUP(A6, A2:A4, C2:C4, "Tidak Ditemukan", 0) ``` Lebih aman karena `match_mode` 0 = exact. ### Contoh 2 — Ambil nama dari NIS tapi lookup ada di kolom kanan (lookup kiri) Jika key ada di kolom B, nama di kolom A: | Harga | Kode | | ----: | ---- | | 3000 | P001 | | 5500 | P002 | | 2500 | P003 | Cari harga berdasarkan kode di D2: **XLOOKUP (langsung bisa lookup kiri)**: ``` =XLOOKUP(D2, B2:B4, A2:A4, "Kode gak ada") ``` **LOOKUP**: nggak bisa langsung lookup kiri tanpa bikin helper column. Jadi XLOOKUP lebih fleksibel di sini. ### Contoh 3 — Jika data di Google Sheets (tanpa XLOOKUP) Google Sheets mendukung `LOOKUP` dan `VLOOKUP`; untuk fitur XLOOKUP di Excel, di Sheets kamu biasanya pakai `INDEX+MATCH` atau `FILTER`: ``` =INDEX(C2:C4, MATCH(D2, A2:A4, 0)) ``` Itu setara dengan XLOOKUP untuk kasus vertical lookup. --- ## 4. Perbandingan fitur — tabel ringkas | Fitur | XLOOKUP | LOOKUP | | --------------------------- | ------------------: | :----------------------------------------- | | Exact match default? | Bisa (match_mode=0) | Approximate default | | Lookup kiri? | Ya | Sulit / butuh trik | | Return multiple kolom/array | Ya (dynamic arrays) | Tidak mudah | | if_not_found parameter | Ya | Tidak | | Reverse search (last match) | Ya (search_mode=-1) | Sulit | | Wildcard matching | Ya (match_mode=2) | Ya (dengan wildcard) | | Kebutuhan sorted data | Tidak (untuk exact) | Ya (approximate) | | Ketersediaan | Excel 365 / terbaru | Excel lama & Sheets (implementasi berbeda) | Kesimpulannya: XLOOKUP jelas lebih modern dan fleksibel. LOOKUP masih berguna di beberapa kasus, terutama di Google Sheets atau Excel versi lama. --- ## 5. Kasus nyata & implementasi lengkap Sekarang kita bahas beberapa skenario nyata dan berikan rumus XLOOKUP vs LOOKUP/alternatif. ### Kasus A — Invoice toko: tarik harga & stok **Data**: sheet `Produk` punya kolom `Kode`, `Nama`, `Harga`, `Stok`. Form `Order`: * Input Kode di A2 → otomatis muncul Nama, Harga, Stok. **XLOOKUP (Excel modern)**: * Nama: ``` =XLOOKUP(A2, Produk!$A$2:$A$100, Produk!$B$2:$B$100, "Kode tidak ditemukan", 0) ``` * Harga: ``` =XLOOKUP(A2, Produk!$A$2:$A$100, Produk!$C$2:$C$100, 0, 0) ``` * Stok: ``` =XLOOKUP(A2, Produk!$A$2:$A$100, Produk!$D$2:$D$100, 0, 0) ``` **Jika pakai Google Sheets atau Excel lama**: * Gunakan `INDEX+MATCH`: ``` =IFERROR(INDEX(Produk!$B$2:$B$100, MATCH(A2, Produk!$A$2:$A$100, 0)), "Kode tidak ditemukan") ``` XLOOKUP bikin rumus lebih ringkas dan readable. ### Kasus B — Last purchase date (ambil hasil terakhir jika ada beberapa transaksi) Tabel `Transaksi` (urut by date): | Tgl | Kode | Jumlah | | ---------- | ---- | -----: | | 2025-01-10 | P001 | 10 | | 2025-02-05 | P002 | 5 | | 2025-03-02 | P001 | 7 | Kamu mau ambil tanggal pembelian terakhir untuk `P001`. **XLOOKUP (pake search_mode = -1 untuk search last→first)**: ``` =XLOOKUP("P001", Transaksi!$B$2:$B$100, Transaksi!$A$2:$A$100, "Tidak ada", 0, -1) ``` Ini mencari dari bawah ke atas dan ambil first match dari belakang → hasil `2025-03-02`. **LOOKUP / VLOOKUP**: butuh trik (INDEX+LOOKUP kombinasi) atau sortir terbalik. ### Kasus C — Ambil kategori terdekat (approximate) — tarif pajak / bracket Tabel tarif berjenjang: | MinIncome | Tarif | | --------: | ----: | | 0 | 5% | | 50000000 | 15% | | 250000000 | 25% | Untuk income = 120,000,000 kamu mau ambil tarif 15%. **LOOKUP (approximate)** cocok: ``` =LOOKUP(120000000, A2:A4, B2:B4) ``` Atau **XLOOKUP** dengan `match_mode = -1` (exact or next smaller): ``` =XLOOKUP(120000000, A2:A4, B2:B4, "Not Found", -1) ``` Keduanya valid, tapi XLOOKUP lebih eksplisit dan aman. --- ## 6. Trik lanjutan XLOOKUP — fitur yang bikin beda XLOOKUP punya banyak opsi yang bikin hidup lebih mudah. Berikut beberapa trik penting. ### 6.1 Reverse lookup (dapat hasil terakhir) Gunakan `search_mode = -1`. ``` =XLOOKUP(lookup_value, lookup_array, return_array, "Not Found", 0, -1) ``` ### 6.2 Nearest / next smaller / next larger * `match_mode = -1` → exact or next smaller (useful untuk bracket) * `match_mode = 1` → exact or next larger Contoh: ``` =XLOOKUP(120000000, A2:A10, B2:B10, "Not Found", -1) ``` ### 6.3 Wildcard matching Jika `match_mode = 2`, XLOOKUP menerima wildcard. Misal cari berdasarkan prefix: ``` =XLOOKUP("Pensil*", A2:A100, B2:B100, "Tidak ada", 2) ``` ### 6.4 Multiple return columns (dynamic arrays) Kalau kamu mau ambil beberapa kolom sekaligus: ``` =XLOOKUP(A2, A2:A100, B2:D100) ``` Hasil ini akan spill otomatis ke beberapa kolom (Excel 365 dynamic array). Jadi kamu dapat `Nama | Harga | Stok` sekaligus. ### 6.5 Replace nested IFERROR patterns Dulu sering pakai `IFERROR(VLOOKUP(...), "Tidak ditemukan")`. XLOOKUP punya argumen `if_not_found`: ``` =XLOOKUP(A2, A2:A100, B2:B100, "Tidak Ditemukan") ``` Bersih dan lebih readable. --- ## 7. Error handling & sanitize input (best practice) Data di dunia nyata suka berantakan: spasi nyelip, kapitalisasi beda, angka disimpan sebagai teks. Sebelum buat lookup, bersihin input. ### Tips sanitize: * `TRIM()` → hapus spasi awal/akhir * `UPPER()`/`LOWER()` → normalisasi kapitalisasi * `VALUE()` → ubah teks angka ke number * `SUBSTITUTE(cell, CHAR(160), " ")` → ganti non-breaking space ### Contoh kombinasi: ``` =XLOOKUP(TRIM(UPPER(A2)), INDEX(UPPER(TRIM(Produk!$A$2:$A$100)),0), Produk!$C$2:$C$100, "Tidak Ditemukan") ``` Di Excel lama, kalau fungsi array seperti `UPPER(TRIM(range))` bikin rumit, sebaiknya buat helper column yang sudah dibersihkan. --- ## 8. Kapan pakai LOOKUP / XLOOKUP / INDEX+MATCH / VLOOKUP? * **Pakai XLOOKUP**: kalau kamu pakai Excel Microsoft 365 / Excel terbaru. Gunakan XLOOKUP buat semua kebutuhan lookup (lookup kiri, last match, multicols). * **Pakai LOOKUP**: kalau file kecil dan kamu ingin approximate lookup pada data yang terurut (contoh: bracket). Atau di Google Sheets untuk operasi simple. * **Pakai INDEX+MATCH**: kalau kamu pakai Excel versi lama atau Google Sheets (keduanya mendukung INDEX+MATCH), dan menginginkan fleksibilitas lookup kiri & dynamic column. * **Pakai VLOOKUP**: masih banyak dipakai untuk kasus vertical lookup sederhana, tapi ingat keterbatasannya (tidak bisa lookup kiri, col_index static). --- ## 9. Performance & optimasi workbook besar Beberapa tips supaya workbook tetap cepat: * **Jangan overuse full-column references** (mis. A:A) di XLOOKUP karena bakal lebih lambat. Batasi range. * **Gunakan helper columns** untuk pre-processing (TRIM/UPPER) bukan menghitung ulang di banyak rumus XLOOKUP. * **Satu MATCH untuk banyak INDEX**: hitung posisi sekali, pakai hasilnya untuk banyak INDEX—lebih efisien saat ambil banyak kolom. * **Gunakan Table (Ctrl+T)** di Excel supaya range otomatis; XLOOKUP terhadap Table lebih rapi. * **Jika bekerja dengan ribuan baris dan banyak lookup**, pertimbangkan Power Query untuk transformasi atau SQL/DB untuk skala besar. --- ## 10. Latihan praktis + solusi (supaya nempel) ### Latihan 1 — Cari harga produk (XLOOKUP) Tabel produk seperti contoh. Input kode di F2. Tampilkan harga di G2. **Jawaban**: ``` =XLOOKUP(F2, A2:A100, C2:C100, "Kode tidak ada") ``` ### Latihan 2 — Ambil data terakhir (transaksi) Tabel transaksi (tgl, kode, jumlah). Input kode di F2. Ambil tanggal transaksi terakhir. **Jawaban**: ``` =XLOOKUP(F2, B2:B100, A2:A100, "Tidak ada", 0, -1) ``` ### Latihan 3 — Bracket tarif (approximate) Tabel bracket min-income di A2:A10, tarif di B2:B10. Income di F2. Ambil tarif. **Jawaban**: ``` =XLOOKUP(F2, A2:A10, B2:B10, "Not Found", -1) ``` atau pakai LOOKUP langsung: ``` =LOOKUP(F2, A2:A10, B2:B10) ``` ### Latihan 4 — Multiple return (nama + harga + stok) Input kode di F2. Ambil tiga kolom sekaligus (spill). **Jawaban (Excel 365)**: ``` =XLOOKUP(F2, A2:A100, B2:D100, "Kode gak ada") ``` Hasil akan spill ke tiga kolom. --- ## 11. Migrasi cepat dari VLOOKUP/LOOKUP ke XLOOKUP Kalau kamu punya banyak VLOOKUP di file lama, migrasi ke XLOOKUP itu enak karena: * `XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)` * Contoh VLOOKUP: ``` =VLOOKUP(A2, $A$2:$D$100, 3, FALSE) ``` → setara dengan: ``` =XLOOKUP(A2, $A$2:$A$100, $C$2:$C$100, "Tidak Ditemukan", 0) ``` Kelebihan: no need col_index, return_array explicit. --- ## 12. Perbandingan contoh nyata: ringkas & visual (quick cheat sheet) * Lookup kiri? → **XLOOKUP / INDEX+MATCH** (YES) ; **LOOKUP** (NO / tricky) * Default exact? → **XLOOKUP** bisa (default 0); **LOOKUP** cenderung approximate * Nilai not found handling? → **XLOOKUP** punya param `if_not_found` ; **LOOKUP** butuh IFERROR * Ambil banyak kolom sekaligus? → **XLOOKUP** bisa; **LOOKUP** nggak * Last match (reverse)? → **XLOOKUP** `search_mode = -1` ; **LOOKUP** susah --- ## 13. Kesalahan umum & solusi cepat * **Error #N/A**: artinya tidak ditemukan. Solusi: pakai `if_not_found` di XLOOKUP atau `IFERROR` di rumus lama. * **Hasil salah dengan LOOKUP**: pastikan lookup_vector diurut ascending. Kalau nggak, pakai exact lookup (`XLOOKUP`/`INDEX+MATCH`). * **Spasi/format masalah**: pakai `TRIM` / `VALUE` / `UPPER` untuk normalisasi. * **Performa lambat**: batasi range, gunakan helper columns, atau Power Query. --- ## 14. Rekomendasi akhir (praktis buat remaja) * Kalau kamu pakai **Excel Microsoft 365 / Excel terbaru** → langsung pakai **XLOOKUP** sebagai standar untuk semua kebutuhan lookup (vertical, horizontal, lookup kiri, multiple return, last match). * Kalau kamu pakai **Google Sheets** atau **Excel lama** → pakai `INDEX + MATCH` untuk fleksibilitas; `LOOKUP` masih ok untuk kasus approximate di data yang terurut. * Selalu **sanitasi input**: TRIM & UPPER supaya aturan matching jadi stabil. * Pakai `if_not_found` (XLOOKUP) atau `IFERROR` supaya user-friendly. --- ## 15. Penutup — langkah praktis mulai hari ini 1. Buka file kerjaanmu, cari semua VLOOKUP/LOOKUP yang sulit dibaca. 2. Jika pakai Excel 365, coba ganti satu per satu ke XLOOKUP — lihat betapa lebih readable dan kuatnya. 3. Latihan: buat 3 sheet kecil (Products, Orders, Transactions) dan implementasikan contoh-contoh di artikel ini. 4. Kalau pake Google Sheets, latih INDEX+MATCH dan FILTER; itu powerful juga. Sekarang kamu tahu kenapa **XLOOKUP** sering disebut lebih efektif daripada **LOOKUP**: lebih aman, fleksibel, dan bikin rumus jadi rapi. Praktik terus sampai kamu bisa bikin dashboard otomatis tanpa harus scroll manual. Selamat ngoprek!
Siswi SMK Muhammadiyah 1 sukoharjo yang cerdas, Bersemangat, dan Berintegritas. Profil Lengkap saya