Rumus Excel MATCH: Mencari Posisi Data dan Memadukannya dengan INDEX
Diperbarui
Jawaban cepat
Rumus Excel MATCH ditulis =MATCH(nilai_dicari, rentang, [match_type]), misalnya =MATCH(41,B2:B5,0) menghasilkan 4 karena 41 ada di posisi keempat. Pakai match_type 0 untuk kecocokan persis. Hasil MATCH sering dipakai sebagai nomor baris di fungsi INDEX.
Daftar isi
Sintaks MATCH (dan INDEX)
Sintaks
=MATCH(lookup_value; lookup_array; [match_type])=MATCH(lookup_value, lookup_array, [match_type])
Berlaku di: Excel untuk Microsoft 365, Excel untuk Microsoft 365 untuk Mac, Excel 2024, Excel 2024 untuk Mac, Excel 2021, Excel 2021 untuk Mac, Excel 2019, Excel 2016
Pemisah argumen mengikuti setelan regional: Excel dengan setelan Indonesia biasanya memakai titik koma (;), setelan Inggris memakai koma (,). Kalau rumus ditolak, ganti pemisahnya lewat tombol Setelan Excel di atas (Microsoft Support).
| Argumen | Penjelasan |
|---|---|
lookup_valueWajib | Nilai yang ingin dicocokkan: angka, teks, nilai logika, atau referensi ke sel berisi nilai itu. |
lookup_arrayWajib | Rentang sel yang dicari. |
match_typeOpsional | -1, 0, atau 1. Bawaannya 1. Pakai 0 untuk nilai pertama yang persis sama. |
Contoh penggunaan
Contoh 1: Posisi nilai yang persis sama
| Baris | A | B |
|---|---|---|
| 1 | Produk | Jumlah |
| 2 | Pisang | 25 |
| 3 | Jeruk | 38 |
| 4 | Apel | 40 |
| 5 | Pir | 41 |
- Rumus
=MATCH(41;B2:B5;0)=MATCH(41,B2:B5,0)- Hasil
- 4
41 berada di posisi keempat rentang B2:B5, jadi MATCH mengembalikan 4, bukan 41.
Contoh 2: Kecocokan mendekati (match_type 1)
| Baris | A | B |
|---|---|---|
| 1 | Produk | Jumlah |
| 2 | Pisang | 25 |
| 3 | Jeruk | 38 |
| 4 | Apel | 40 |
| 5 | Pir | 41 |
- Rumus
=MATCH(39;B2:B5;1)=MATCH(39,B2:B5,1)- Hasil
- 2
Tidak ada 39, jadi MATCH memakai nilai terbesar yang kurang dari atau sama dengan 39, yaitu 38 di posisi 2.
Contoh 3: Data tidak urut turun (match_type -1)
| Baris | A | B |
|---|---|---|
| 1 | Produk | Jumlah |
| 2 | Pisang | 25 |
| 3 | Jeruk | 38 |
| 4 | Apel | 40 |
| 5 | Pir | 41 |
- Rumus
=MATCH(40;B2:B5;-1)=MATCH(40,B2:B5,-1)- Hasil
- #N/A
match_type -1 mengharuskan data urut turun. Kolom Jumlah urut naik, jadi hasilnya kesalahan #N/A.
Contoh 4: Mencari posisi teks
| Baris | A | B |
|---|---|---|
| 1 | Produk | Jumlah |
| 2 | Pisang | 25 |
| 3 | Jeruk | 38 |
| 4 | Apel | 40 |
| 5 | Pir | 41 |
- Rumus
=MATCH("Apel";A2:A5;0)=MATCH("Apel",A2:A5,0)- Hasil
- 3
Apel berada di baris ketiga rentang A2:A5. Teks yang dicari diapit tanda kutip.
Contoh 5: INDEX dan MATCH
| Baris | A | B |
|---|---|---|
| 1 | Produk | Jumlah |
| 2 | Pisang | 25 |
| 3 | Jeruk | 38 |
| 4 | Apel | 40 |
| 5 | Pir | 41 |
- Rumus
=INDEX(B2:B5;MATCH("Apel";A2:A5;0))=INDEX(B2:B5,MATCH("Apel",A2:A5,0))- Hasil
- 40
MATCH menemukan Apel di posisi 3, lalu INDEX mengambil nilai di baris ke-3 rentang B2:B5, yaitu 40.
Kesalahan umum
#N/A
Penyebab: MATCH tidak menemukan kecocokan, atau match_type 1/-1 dipakai pada data yang tidak diurutkan sesuai syaratnya.
Solusi: Pakai match_type 0 untuk kecocokan persis, atau urutkan data naik (untuk 1) atau turun (untuk -1).
Hasil berupa angka posisi, bukan nilai
Penyebab: MATCH memang mengembalikan posisi relatif item dalam rentang, bukan item itu sendiri.
Solusi: Masukkan hasil MATCH ke INDEX, misalnya =INDEX(B2:B5,MATCH("Apel",A2:A5,0)), untuk mengambil nilainya.
#REF! pada INDEX
Penyebab: row_num atau column_num yang diberikan ke INDEX menunjuk ke luar rentang array.
Solusi: Pastikan rentang INDEX dan rentang MATCH punya jumlah baris yang sama.
Pertanyaan umum
Apa arti match_type 0, 1, dan -1?
0 mencari nilai pertama yang persis sama, data boleh tidak urut. 1 (bawaan) mencari nilai terbesar yang kurang dari atau sama dengan nilai dicari, data harus urut naik. -1 mencari nilai terkecil yang lebih besar dari atau sama dengan, data harus urut turun.
Bagaimana cara kerja INDEX MATCH?
MATCH mencari posisi nilai dalam satu kolom, lalu posisi itu dipakai sebagai row_num di INDEX untuk mengambil isi kolom lain pada baris yang sama. Microsoft menyebut MATCH bisa memberikan nilai bagi argumen row_num fungsi INDEX.
Apakah MATCH membedakan huruf besar dan kecil?
Tidak. MATCH tidak membedakan huruf besar dan huruf kecil saat mencocokkan teks, jadi apel dan Apel dianggap sama.
Bisakah MATCH memakai wildcard?
Bisa, jika match_type 0 dan nilai yang dicari berupa teks. Tanda tanya (?) mewakili satu karakter dan tanda bintang (*) mewakili urutan karakter apa pun.
Panduan terkait
Sumber
- Fungsi MATCH (Microsoft Support)support.microsoft.com
- Fungsi INDEX (Microsoft Support)support.microsoft.com