INDEX MATCH Excel: Cara Kerja + Kapan Lebih Baik dari VLOOKUP
Blog/Tutorial Excel & Sheets/INDEX MATCH Excel: Cara Kerja + Kapan Lebih Baik dari VLOOKUP

INDEX MATCH Excel: Cara Kerja + Kapan Lebih Baik dari VLOOKUP

BimaBima
·26 Januari 2026·8 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

INDEX MATCH adalah kombinasi dua fungsi Excel buat nyari data: MATCH nyari posisi baris dari nilai yang dicari, lalu INDEX ngambil isi sel di posisi itu dari kolom hasil. Sintaksnya =INDEX(kolom_hasil; MATCH(nilai_dicari; kolom_cari; 0)). Beda dari VLOOKUP, INDEX MATCH bisa nyari ke arah kiri dan gak rusak waktu ada kolom disisipin di tengah tabel.

INDEX MATCH adalah kombinasi dua fungsi Excel yang kerja bareng buat nyari data. MATCH nyari posisi barisnya, INDEX ngambil isinya.

Duet ini udah jadi standar analis Excel selama belasan tahun, jauh sebelum XLOOKUP muncul. Dan sampai sekarang masih relevan, soalnya jalan di semua versi Excel sejak 2007.

Contoh di sini pakai data toko_berkah: 8 produk warung dengan kode, nama, kategori, harga, dan stok.

 A — kode_produkB — nama_produkC — kategoriD — hargaE — stok
2BRK-001Beras Pandan Wangi 5kgSembako78.00042
3BRK-002Minyak Goreng 2LSembako34.50015
4BRK-003Gula Pasir 1kgSembako17.00060
5BRK-004Kopi Bubuk 200gMinuman23.0008
6BRK-005Teh Celup 25sMinuman12.5000
7BRK-006Sabun Mandi 80gPerawatan4.500120
8BRK-007Sampo Sachet 12sPerawatan15.00033
9BRK-008Deterjen 800gPerawatan21.50027

Apa itu INDEX MATCH di Excel?

INDEX MATCH adalah cara nyari data di tabel dengan dua fungsi bersarang: MATCH ngasih tau posisi baris tempat nilai yang kamu cari berada, terus INDEX ngambil isi sel di posisi itu dari kolom yang kamu tunjuk.

Bentuk lengkapnya:

=INDEX(kolom_hasil; MATCH(nilai_dicari; kolom_cari; 0))

Bacanya dari dalam ke luar. MATCH jalan duluan, hasilnya angka. Angka itu jadi bahan buat INDEX.

Aku pakai titik koma (;) sebagai pemisah argumen — sesuai setelan regional Indonesia. Kalau Excel kamu English, ganti jadi koma.

Gimana cara kerja fungsi INDEX?

INDEX ngambil nilai dari sebuah range berdasarkan nomor baris (dan opsional nomor kolom).

=INDEX(D2:D9; 4)

Hasil: 23000

Artinya: dari range D2:D9, ambil baris ke-4. Baris ke-4 di range itu adalah D5, isinya harga Kopi Bubuk.

Hati-hati di sini: angka 4 itu posisi di dalam range, bukan nomor baris di sheet. Range mulai dari D2, jadi baris ke-1 = D2, baris ke-4 = D5. Salah paham soal ini yang bikin banyak orang meleset satu baris.

Penjelasan argumen lengkapnya ada di halaman fungsi INDEX.

Gimana cara kerja fungsi MATCH?

MATCH kebalikannya. Kamu kasih nilai, dia balikin posisinya.

=MATCH("BRK-004"; A2:A9; 0)

Hasil: 4

BRK-004 ada di baris ke-4 dari range A2:A9. Selesai, itu doang kerjaan MATCH.

Angka 0 di akhir itu argumen match_type, artinya "cari yang persis sama". Ini yang hampir selalu kamu pakai.

match_typeArtinyaSyarat data
0Persis samaBebas, gak perlu urut
1Nilai terbesar yang ≤ nilai dicariHarus urut naik
-1Nilai terkecil yang ≥ nilai dicariHarus urut turun

Lupa nulis 0 itu sumber bug klasik. Default MATCH adalah 1, dan di tabel yang gak urut hasilnya ngawur tanpa error.

Gimana cara gabungin INDEX dan MATCH?

Tinggal taruh MATCH di dalam argumen kedua INDEX. Kasusnya: kode produk diketik di sel H2, harganya muncul di H3.

  1. Ketik BRK-004 di H2.
  2. Di H3, tulis kerangkanya: =INDEX(D2:D9; ...) — D2:D9 adalah kolom harga, isi yang mau kamu ambil.
  3. Ganti titik-titik itu sama MATCH: MATCH(H2; A2:A9; 0) — A2:A9 kolom kode, tempat nyari.
  4. Tutup kurung, Enter.
=INDEX(D2:D9; MATCH(H2; A2:A9; 0))

Hasil: 23000

Kalau rumusnya bakal di-copy ke bawah, kunci range-nya:

=INDEX($D$2:$D$9; MATCH($H2; $A$2:$A$9; 0))

Aturan tanda dolar lengkapnya ada di glosarium absolute reference.

Kapan INDEX MATCH lebih baik dari VLOOKUP?

Rumus VLOOKUP yang setara:

=VLOOKUP(H2; A2:D9; 4; FALSE)

Angka 4 itu titik lemahnya. Begitu ada yang nyisipin kolom baru di antara B dan C, kolom harga geser ke posisi 5, tapi rumusnya masih nunjuk 4. Hasilnya berubah diam-diam — gak ada error, cuma angka yang salah.

INDEX MATCH gak pernah kena masalah ini, soalnya dia nunjuk range, bukan nomor kolom. Kolom digeser, range-nya ikut geser sendiri.

HalVLOOKUPINDEX MATCH
Arah pencarianCuma ke kananKiri, kanan, bebas
Kolom disisipkanRumus jadi salahRumus tetap benar
Range yang dibacaSeluruh lebar tabelCuma 2 kolom
Panjang rumusPendekLebih panjang
Kurva belajarGampangButuh paham 2 fungsi
Versi ExcelSemuaSemua (sejak 2007)

Jujur aja: VLOOKUP lebih gampang diketik dan lebih gampang diajarin. Buat tabel sekali pakai yang kolomnya gak bakal berubah, VLOOKUP udah cukup. INDEX MATCH kepakai di file yang hidup lama dan disentuh banyak orang.

Dan kalau kantor kamu udah full Excel 365, XLOOKUP ngasih semua keuntungan INDEX MATCH dengan sintaks yang lebih pendek.

Gimana cara INDEX MATCH nyari ke kiri?

Balik kasusnya: kamu punya nama produk, mau tau kodenya. Kolom kode (A) ada di kiri kolom nama (B). VLOOKUP nyerah, INDEX MATCH gak peduli.

=INDEX(A2:A9; MATCH("Teh Celup 25s"; B2:B9; 0))

Hasil: BRK-005

MATCH nyari di kolom B, INDEX ngambil dari kolom A. Urutan kolom di sheet gak ngaruh sama sekali.

Gimana bikin INDEX MATCH dua arah?

INDEX punya argumen ketiga: nomor kolom. Isi dua-duanya pakai MATCH, dan kamu dapat lookup silang — baris dan kolom sekaligus.

Anggap kamu ketik kode produk di H2 dan nama kolom (misalnya "stok") di H3:

=INDEX($A$1:$E$9;
       MATCH($H$2; $A$1:$A$9; 0);
       MATCH($H$3; $A$1:$E$1; 0))

H2 = BRK-006, H3 = stok  →  Hasil: 120

MATCH pertama nyari baris, MATCH kedua nyari kolom. Perhatiin range-nya mulai dari baris 1 (baris header), soalnya MATCH kolom butuh baca judul kolom.

Buat lookup horizontal yang lebih sederhana, ada juga rumus HLOOKUP.

Contoh kasus: cek margin produk toko_berkah

Bu Sari punya sheet kedua isinya harga modal per kode produk. Dia mau tau margin tiap produk tanpa nyusun ulang dua tabel itu.

Di sheet modal, kolom A kode produk dan kolom B harga modal. Rumus di sheet produk:

Modal  : =INDEX(modal!$B$2:$B$9; MATCH($A2; modal!$A$2:$A$9; 0))
Margin : =D2 - INDEX(modal!$B$2:$B$9; MATCH($A2; modal!$A$2:$A$9; 0))
Margin%: =(D2 - INDEX(modal!$B$2:$B$9; MATCH($A2; modal!$A$2:$A$9; 0))) / D2

Hasilnya bikin kaget. Beras Pandan Wangi — produk paling laku dan paling mahal — margin-nya cuma 8%. Sabun Mandi yang harganya Rp 4.500 doang punya margin 33%.

Dari 8 produk toko_berkah, 3 produk berkontribusi 71% ke total profit, dan semuanya dari kategori Perawatan. Sembako muter uang paling banyak, tapi profitnya tipis.

Insight kayak gini yang bikin lookup ada gunanya. Bukan biar rumusnya keren, tapi biar tau produk mana yang beneran ngasih makan tokonya.

Kesalahan umum pakai INDEX MATCH

1. Lupa angka 0 di MATCH

=MATCH(H2; A2:A9) tanpa argumen ketiga bakal pakai mode approximate. Di tabel kode produk yang gak urut alfabet, hasilnya ngawur — dan gak ada error yang ngingetin kamu.

2. Range INDEX dan range MATCH beda tinggi

=INDEX(D2:D9; MATCH(H2; A2:A20; 0)) bakal kasih hasil salah. Dua range harus mulai dari baris yang sama dan sama panjangnya. MATCH ngitung posisi relatif, jadi kalau titik startnya beda, posisinya meleset.

3. Lupa kunci range waktu di-drag

Copy rumus ke bawah tanpa $ bikin range-nya ikut turun. Baris ke-10 bakal nyari di range A10:A17 — yang isinya udah kosong. Kunci semua range: $A$2:$A$9.

4. Tipe data beda

Kode 1001 hasil import CSV sering kesimpan sebagai teks. MATCH bakal keluar #N/A walaupun mata kamu lihat angka yang sama. Cek pakai =ISNUMBER(A2), atau samain dulu formatnya.

5. Bungkus IFERROR terlalu cepat

=IFERROR(INDEX(...); "") emang bikin laporan bersih. Tapi juga nyembunyiin data yang beneran gak ketemu. Isi teks yang jelas kayak "Kode gak terdaftar", biar kamu tau bedanya sel kosong dan data hilang.

FAQ soal INDEX MATCH

INDEX MATCH lebih cepat dari VLOOKUP?

Di data kecil bedanya gak kerasa. Di data besar INDEX MATCH biasanya sedikit lebih cepat, soalnya dia cuma baca dua kolom, sementara VLOOKUP baca seluruh lebar tabel yang kamu blok. Bedanya baru kelihatan di file dengan ribuan rumus dan puluhan ribu baris.

Kenapa hasilnya #REF! bukan #N/A?

#REF! berarti INDEX diminta ngambil baris yang di luar range. Misalnya MATCH balikin 12 padahal range INDEX cuma 8 baris. Biasanya gara-gara range INDEX dan range MATCH beda panjang atau beda titik start.

Bisa nyari pakai dua kriteria sekaligus?

Bisa, gabungin kriterianya jadi satu teks di dalam MATCH: =INDEX(D2:D9; MATCH(H2&H3; A2:A9&C2:C9; 0)). Di Excel 2019 ke bawah, rumus ini harus dikonfirmasi pakai Ctrl+Shift+Enter. Di Excel 365 langsung jalan.

Masih perlu belajar INDEX MATCH kalau udah ada XLOOKUP?

Perlu, kalau kamu kerja di lingkungan yang versinya campur-campur. Banyak kantor Indonesia masih pakai Excel 2016 dan 2019, terutama di perusahaan yang lisensinya belum di-upgrade. File berisi XLOOKUP bakal keluar #NAME? di mesin mereka.

Ringkasnya

MATCH nyari posisi. INDEX ngambil isi. Digabung, jadi lookup yang gak rusak waktu tabel kamu diubah orang lain.

Rumus intinya cuma satu, hapal ini aja: =INDEX(kolom_hasil; MATCH(dicari; kolom_cari; 0)).

Angka 0 itu jangan pernah dilupain.

Sekarang buka file kerjaan kamu dan ubah satu VLOOKUP jadi INDEX MATCH. Kalau mau latihan step by step pakai contoh interaktif, kulik di halaman fungsi MATCH.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel Terkait

Template Laporan Penjualan Excel: Struktur yang Dipakai Analis
Tutorial Excel & Sheets
11 Juli 2026•10 menit baca

Template Laporan Penjualan Excel: Struktur yang Dipakai Analis

Template laporan penjualan yang bener cuma butuh 3 sheet. Yang bikin laporan orang rusak biasanya karena data mentah dan hasil dicampur di satu tempat.

BimaBima
Cara Menghubungkan Google Sheets ke Looker Studio
Tutorial Excel & Sheets
8 Juli 2026•10 menit baca

Cara Menghubungkan Google Sheets ke Looker Studio

Nyambungin Google Sheets ke Looker Studio cuma butuh 5 menit. Yang bikin lama itu datanya belum rapi. Ini urutan yang bener.

BimaBima
Cara Share Google Sheets dengan Aman: Permission & Protected Range
Tutorial Excel & Sheets
5 Juli 2026•9 menit baca

Cara Share Google Sheets dengan Aman: Permission & Protected Range

Panduan step by step share Google Sheets tanpa bikin rumus kehapus atau data gaji bocor — dari level permission, protected range, sampai audit siapa yang buka.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore