VLOOKUP vs XLOOKUP: Cara Mencari Data di Excel Tanpa Ribet

· 6 menit baca

Hampir semua pekerjaan Excel di kantor suatu saat butuh "mencari data". Kamu punya daftar pesanan yang cuma berisi kode barang, dan harganya ada di tabel lain. Atau daftar karyawan yang butuh nama departemen dari sheet HR. Menyalin satu-satu jelas bukan opsi kalau datanya ratusan baris.

Di sinilah rumus pencarian (lookup) dipakai. Ada tiga yang paling populer: VLOOKUP, XLOOKUP, dan kombinasi INDEX MATCH. Ketiganya bisa menyelesaikan masalah yang sama, tapi dengan kelebihan dan jebakan masing-masing. Artikel ini membahas cara kerja ketiganya, kapan memakai yang mana, dan cara membereskan error yang paling sering muncul.

Contoh data yang kita pakai

Bayangkan tabel produk di kolom E sampai G seperti ini:

EFG
1KodeProdukHarga
2K01Kaos75.000
3C02Celana150.000
4T03Topi40.000
5S04Tas120.000

Di kolom A ada daftar pesanan yang berisi kode barang, dan kita ingin harganya muncul otomatis di kolom B.

VLOOKUP: yang paling dikenal

VLOOKUP sudah ada sejak Excel versi lama, jadi hampir semua orang pernah dengar namanya. Bentuknya:

=VLOOKUP(nilai_dicari, tabel, nomor_kolom, FALSE)

Untuk contoh kita, harga untuk kode di A2:

=VLOOKUP(A2, $E$2:$G$5, 3, FALSE)

Artinya: cari isi A2 di kolom pertama tabel E2:G5, lalu ambil nilai dari kolom ke-3 tabel itu (kolom Harga). Argumen terakhir FALSE berarti harus sama persis.

Tiga jebakan VLOOKUP

  1. Lupa FALSE. Kalau argumen keempat dikosongkan, VLOOKUP memakai pencarian perkiraan (approximate match). Hasilnya bisa salah tanpa error apa pun, karena Excel mengambil nilai terdekat. Untuk mencari kode, nama, atau ID, selalu pakai FALSE atau 0.
  2. Nomor kolom diketik manual. Angka 3 di rumus tadi nggak ikut berubah kalau ada yang menyisipkan kolom baru di tengah tabel. Tiba-tiba rumus mengambil kolom yang salah, dan seringnya nggak ada yang sadar.
  3. Hanya bisa ke kanan. Kolom yang dicari harus kolom paling kiri di tabel. Kalau kamu punya nama produk dan ingin mencari kodenya (yang ada di sebelah kiri), VLOOKUP nggak bisa.

Jangan lupa tanda $ pada rentang tabel. Tanpa itu, rentangnya ikut bergeser ke bawah saat rumus disalin, dan baris-baris terakhir mulai menghasilkan #N/A.

XLOOKUP: penerus yang lebih fleksibel

XLOOKUP dirancang Microsoft untuk menggantikan VLOOKUP dan HLOOKUP. Bentuk dasarnya:

=XLOOKUP(nilai_dicari, kolom_cari, kolom_hasil, [jika_tidak_ketemu])

Untuk contoh yang sama:

=XLOOKUP(A2, $E$2:$E$5, $G$2:$G$5, "Tidak ada")

Bedanya terasa langsung:

  • Tanpa nomor kolom. Kamu menunjuk langsung kolom yang dicari dan kolom hasilnya. Sisipkan kolom baru sebanyak apa pun, rumus tetap benar.
  • Bisa ke kiri. Kolom hasil boleh di mana saja. Mau mencari kode dari nama produk? =XLOOKUP("Topi", F2:F5, E2:E5).
  • Default sudah sama persis. Nggak perlu ingat menambahkan FALSE.
  • Pesan kalau nggak ketemu sudah bawaan. Argumen keempat menggantikan IFERROR.

XLOOKUP juga punya argumen kelima dan keenam untuk mode pencarian lanjutan, misalnya mencari dari bawah ke atas untuk mengambil transaksi terakhir seorang pelanggan. Untuk kebutuhan sehari-hari, empat argumen pertama sudah cukup.

Satu-satunya kekurangan: versi Excel

XLOOKUP hanya ada di Microsoft 365, Excel 2021 ke atas, dan Excel versi web. Di Excel 2019, 2016, atau yang lebih lama, rumus ini menghasilkan #NAME?. Kalau file kamu dibuka rekan kerja yang masih pakai versi lama, hasilnya rusak di komputer mereka. Untuk kasus ini, pakai pilihan ketiga.

INDEX MATCH: jalan tengah untuk semua versi

Sebelum XLOOKUP ada, pengguna Excel tingkat lanjut menggabungkan dua fungsi: MATCH untuk mencari posisi, dan INDEX untuk mengambil nilai di posisi itu.

=INDEX($G$2:$G$5, MATCH(A2, $E$2:$E$5, 0))

Cara membacanya dari dalam ke luar: MATCH(A2, E2:E5, 0) mencari A2 di kolom kode dan mengembalikan posisinya, misalnya 3 untuk T03. Lalu INDEX(G2:G5, 3) mengambil nilai ke-3 dari kolom harga. Angka 0 di MATCH berarti sama persis, sama fungsinya dengan FALSE di VLOOKUP.

Kelebihannya sama dengan XLOOKUP (bisa ke kiri, tahan terhadap sisipan kolom), dan jalan di semua versi Excel. Kekurangannya cuma satu: lebih panjang dan butuh sedikit latihan untuk terbiasa.

Kasus khusus: mengambil data terakhir

Misalnya kamu punya log transaksi yang urut berdasarkan tanggal, dan satu pelanggan bisa muncul berkali-kali. VLOOKUP, MATCH, dan XLOOKUP standar selalu mengambil kecocokan pertama dari atas, jadi yang terambil transaksi paling lama. Untuk mengambil transaksi terakhir, XLOOKUP punya argumen keenam yang mengatur arah pencarian. Isi dengan -1 untuk mencari dari bawah ke atas:

=XLOOKUP("Budi", B2:B500, D2:D500, "Belum pernah", 0, -1)

Argumen kelima 0 berarti sama persis, dan -1 di argumen keenam membalik arah pencarian. Hasilnya nilai transaksi Budi yang paling baru. Melakukan hal ini dengan VLOOKUP butuh rumus jauh lebih rumit, dan ini salah satu alasan terkuat untuk beralih ke XLOOKUP kalau versi Excel-mu mendukung.

Bagaimana dengan HLOOKUP?

HLOOKUP adalah saudara VLOOKUP untuk tabel yang tersusun mendatar, dengan judul di baris paling atas dan data memanjang ke kanan. Cara kerjanya sama persis, hanya arahnya diputar: mencari di baris pertama, lalu mengambil nilai dari nomor baris tertentu. XLOOKUP dan INDEX MATCH bisa menangani tabel mendatar juga, cukup dengan menunjuk rentang baris alih-alih kolom.

Jadi, pakai yang mana?

SituasiPilihan
Semua orang di kantor pakai Microsoft 365 atau Excel 2021+XLOOKUP
File dibagikan ke orang dengan Excel lamaINDEX MATCH
Tabel sederhana, kolom kunci di paling kiri, dan strukturnya jarang berubahVLOOKUP masih oke
Perlu mencari ke kiriXLOOKUP atau INDEX MATCH

Tetap pelajari VLOOKUP walaupun kamu sudah pakai XLOOKUP. Banyak file lama dan template kantor yang masih memakainya, dan pertanyaan VLOOKUP hampir selalu muncul di tes kerja admin.

Membereskan error #N/A

#N/A artinya "nilai yang dicari nggak ketemu". Kadang memang datanya nggak ada, tapi lebih sering datanya ada dan cuma kelihatan sama. Ini penyebab yang paling umum:

  • Spasi tersembunyi. "K01" dan "K01 " (dengan spasi di belakang) dianggap berbeda. Bersihkan dengan TRIM, atau pakai TRIM(A2) langsung sebagai nilai yang dicari.
  • Angka yang tersimpan sebagai teks. Kode seperti 1001 di satu tabel berupa angka, di tabel lain berupa teks hasil impor. Biasanya ditandai segitiga hijau di pojok sel. Samakan jenisnya dulu, misalnya dengan menekan tanda peringatan lalu pilih "Convert to Number".
  • Rentang tabel bergeser. Lupa tanda $, jadi baris bawah mencari di rentang yang sudah turun.
  • VLOOKUP tanpa FALSE pada data yang tidak urut, hasilnya acak atau #N/A.

Kalau datanya memang mungkin nggak ada, tampilkan pesan yang lebih ramah. Di XLOOKUP pakai argumen keempat. Di VLOOKUP atau INDEX MATCH, bungkus dengan IFERROR:

=IFERROR(VLOOKUP(A2, $E$2:$G$5, 3, FALSE), "Tidak ada")

Hati-hati, IFERROR menyembunyikan semua jenis error, termasuk yang disebabkan salah ketik rumus. Pakai setelah kamu yakin rumusnya sudah benar.

Catatan untuk Excel berbahasa Indonesia

Kalau pengaturan regional komputermu Indonesia, pemisah argumen di rumus adalah titik koma, bukan koma. Jadi rumus di atas ditulis =XLOOKUP(A2; $E$2:$E$5; $G$2:$G$5; "Tidak ada"). Kalau Excel menolak rumusmu dengan pesan "There's a problem with this formula", coba ganti koma dengan titik koma.

Latihan biar nempel

Rumus lookup itu tipe yang gampang dimengerti saat dibaca, tapi baru benar-benar paham setelah kamu sendiri salah ketik rentang dan melihat #N/A bermunculan. Ambil satu data dari kerjaanmu, coba ketiga cara di atas, dan bandingkan hasilnya.

Baru mulai belajar Excel? Baca dulu Belajar Excel dari Nol: Panduan Lengkap untuk Pemula untuk fondasi dan peta belajarnya.

Di level Pro Jago Excel, VLOOKUP, HLOOKUP, INDEX MATCH, dan XLOOKUP punya pelajaran masing-masing, lengkap dengan studi kasus faktur toko dan stok gudang. Kamu mengetik rumus langsung di lembar kerja dan jawabanmu dicek otomatis.

Langsung praktik, bukan cuma baca

Ketik rumus di lembar kerja simulasi, jawabanmu dicek otomatis. Level Beginner gratis.

Coba gratis

Artikel lainnya