Excel: VLOOKUP vs INDEX-MATCH

Share

Vlookup merupakan salah satu rumus yang paling sering saya gunakan di Excel. Vlookup saya gunakan jika saya perlu mencari suatu atribut turunan dari suatu ID kunci yang diambil/dibandingkan dari suatu source Tabel Database tertentu.

Sebagai contoh, terdapat source Tabel Database berikut:

Contoh Source Tabel Database

Lalu terdapat suatu data mentah bahwa Pekerja dengan Nomor Pegawai berikut adalah Pekerja yang datang terlambat hari ini.

Contoh Data Mentah Pekerja yang Terlambat

Data awal yang kita miliki hanyalah Nomor Pegawai, padahal kita perlu detil Nama Pekerja dan asal Fungsi Pekerja tersebut. Untuk mencari Nama Pekerja, kita bisa dengan mudah mendapatkannya dengan menggunakan rumus vlookup pada cell H3 sebagai berikut.

Rumus Vlookup untuk Mencari Nama dari Nomor Pegawai

Yang menjadi masalah, bagaimana kita mencari asal Fungsi Pekerja? Vlookup hanya bisa mencari/menoleh ke kolom sebelah kanan dari ID kunci yang kita jadikan acuan. Dalam hal ini, Fungsi Pekerja yang berada di sebelah kiri Nomor Pegawai tidak bisa kita cari langsung dengan menggunakan rumus vlookup.

Opsi 1: Tetap Menggunakan VLOOKUP

Jika ingin tetap menggunakan rumus vlookup, kita bisa memodifikasi source Tabel Database sedemikian rupa agar kolom Fungsi Pekerja berada di sebelah kanan kolom Nomor Pegawai. Bisa dengan memindahkan/meng-copy kolom Nomor Pegawai ke sebelah kiri kolom Fungsi Pekerja, atau sebaliknya bisa dengan memindahkan/meng-copy kolom Fungsi Pekerja ke sebelah kanan kolom Nomor Pegawai. Seperti contoh berikut:

Source Tabel Database yang Sudah Dimodifikasi (Meng-copy Kolom Fungsi ke Kolom Paling Kanan)

Sehingga tinggal kita buat rumus vlookup pada cell J3 sebagai berikut:

Rumus Vlookup untuk Mencari Fungsi dari Nomor Pegawai (Tabel Source Database Sudah Dimodifikasi)

Untuk contoh di atas di mana source Tabel Database hanya memiliki 22 baris data, masih memungkinkan jika kita menggunakan rumus vlookup. Bagaimana jika kita punya puluhan atau ratusan ribu baris data di source Tabel Database? Sekali kita melakukan eksekusi cut atau copy kolom pada file excel yang besar akan membutuhkan proses yang lumayan lama. Belum lagi jika kita mempunyai keterbatasan dalam memodifikasi source Tabel Database, misal karena hanya memiliki otrisasi read-only atau karena source Tabel Database tersebut sudah terhubung dengan banyak rumus lainnya sehingga tidak memungkinkan dilakukan modifikasi urutan kolom yang ada.

Opsi 2: Menggunakan Kombinasi Rumus INDEX-MATCH

Kombinasi rumus index dan match bisa menjalankan fungsi yang sama seperti vlookup, dan tidak hanya bisa mencari/menoleh ke kolom sebelah kanan dari ID kunci yang kita jadikan acuan, rumus index-match pun bisa mencari/menoleh ke kolom sebelah kiri dari ID kunci yang kita jadikan acuan.

Secara garis besar, Index adalah rumus untuk menunjukan data pada urutan tertentu pada suatu kolom/baris, dan match adalah rumus untuk mencari posisi data (urutan) pada suatu kolom/baris. Saya tidak akan membahas detil struktur sintaks pada rumus index dan match, namun saya akan membahas cara praktis penulisan rumus index-match yang dibandingkan dengan penulisan rumus vlookup.

Pada dasarnya, dalam pengoperasian vlookup dan index-match pada kasus seperti ini terdapat 3 variabel yang perlu diperhatikan, yakni:

  1. Cell ID Kunci yang ingin dicari turunan atributnya (selanjutnya kita sebut X – warna hijau)
  2. Kolom ID Kunci pada source Tabel Database (Y – warna merah)
  3. Kolom Atribut Turunan yang dicari pada source Tabel Database (Z – warna biru)

Terdapat sedikit perbedaan pada cara penulisan 3 variabel tersebut:

VARIABELVLOOKUPINDEX-MATCH
XCell ID Kunci
(Misal = G3)
Cell ID Kunci
(Misal = G3)
YKolom ID Kunci s.d. Kolom Atribut Turunan yang Dicari
(Misal = C:D)
Kolom ID Kunci Saja
(Misal = C:C)
ZUrutan Kolom Atribut Turunan yang Dicari, dihitung dari Kolom ID Kunci
(Misal = 2)
Langsung Kolom Atribut Turunan yang Dicari
(Misal = D:D)
Perbedaan Cara Penulisan Variabel

Selain perbedaan pada cara penulisan variabel, urutan penulisan variabel pun sedikit berbeda:

Urutan pada rumus vlookup:
=vlookup(X;Y;Z;0)

Urutan pada rumus Index-Match:

=INDEX(Z(MATCH(X;Y;0))

Sehingga, perbandingan penulisan untuk index-match pada contoh kasus mencari Nama Pekerja dari Nomor Pegawai adalah dengan memasukkan rumus berikut pada cell H3:

menggunakan vlookup:
=VLOOKUP(G3;C:D;2;0)

menggunakan index-match:
=INDEX(D:D;(MATCH(G3;C:C;0))
Perbandingan Cara Penulisan Rumus VLOOKUP dan INDEX-MATCH
(pada gambar ini, Rumus Index-Match ada di Cell H4)

Contoh di atas adalah contoh penulisan rumus untuk mencari Nama dari Nomor Pegawai. Bagaimana untuk mencari Fungsi dari Nomor Pegawai? Dengan menggunakan index-match, tidak peduli di mana posisi kolom atribut yang akan kita cari (baik di sebelah kiri maupun di sebelah kanan ID kunci), kita cukup mengganti variabel Z, dari yang semula kolom Nama (D:D), menjadi kolom Fungsi (B:B), sehingga di cell I3 ditulis sebagai berikut:

=INDEX(B:B;(MATCH(G3;C:C;0))

Kesimpulan

Lalu rumus mana yang paling cocok? Jawabannya: tergantung.

Jika kita selalu berhadapan dengan kebutuhan data yang selalu hanya perlu “menoleh” ke kanan di source Tabel Database, atau jumlah baris di Tabel Database yang kita hadapi hanya puluhan s.d. ratusan saja, rumus vlookup saja menurut saya cukup.

Namun, jika kita sesekali atau bahkan sering berhadapan dengan kebutuhan data yang perlu “menoleh” ke kiri di source Tabel Database, atau jumlah baris di Tabel Database yang kita hadapi lebih dari ribuan baris, kita perlu membiasakan diri untuk menggunakan index-match. Walaupun untuk keperluan “menoleh” ke kanan bisa dilakukan oleh vlookup, kita sebaiknya tetap menggunakan index-match untuk “menoleh” ke kanan, agar pikiran dan jari kita terbiasa dengan sintaks index-match.

Silahkan download contoh file excel kertas kerja di atas pada link ini.

Bagikan tulisan ini:

mozuqi

Mohammad Zulkifli Falaqi. Biasa dipanggil Zul. Saat ini sedang mencari sesuap nasi di ibukota sebagai buruh yang ngurusin organisasi dan SDM di perusahaan yang bergerak di bidang energi. Menulis apa saja yang terlintas di pikiran.

You may also like...

Leave a Reply