=XMATCH(E2,A2:A6) mengembalikan posisi E2 di A2:A6: 1 untuk sel pertama, 2 untuk sel kedua. Berbeda dengan MATCH, XMATCH memakai pencocokan persis kecuali diminta lain. XMATCH butuh Excel 2021 atau Microsoft 365; di versi yang lebih lama pakai MATCH(E2,A2:A6,0).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Position | |
| 2 | Apple | Fruit | $1.20 | Carrot | 3 | |
| 3 | Pear | Fruit | $1.50 | |||
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
Carrot adalah item ketiga, jadi F2 menampilkan 3. Ketik Kiwi dan hasilnya #N/A. Seperti semua pencarian di Excel, XMATCH tidak membedakan huruf besar dan kecil.
Sintaks XMATCH
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
| Argumen | Nilai |
|---|---|
match_mode | 0 persis (default), -1 persis atau lebih kecil berikutnya, 1 persis atau lebih besar berikutnya, 2 pencocokan wildcard |
search_mode | 1 dari item pertama (default), -1 dari item terakhir, 2 pencarian biner urutan naik, -2 pencarian biner urutan turun |
Mode biner lebih cepat pada daftar terurut yang sangat besar dan mengembalikan posisi yang salah pada daftar yang tidak terurut. Mode-mode lainnya bisa dipakai pada data dengan urutan apa pun.
Lebih kecil atau lebih besar berikutnya, tanpa pengurutan
match_mode 1 menemukan nilai terkecil yang lebih besar dari atau sama dengan nilai yang dicari. Itu menjawab "kotak terkecil yang muat" bahkan jika ukurannya tidak diurutkan. Dengan MATCH, daftarnya harus diurutkan dari yang terbesar ke yang terkecil.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Box | Holds (liters) | Item (liters) | 18 | |
| 2 | S | 5 | Position | 4 | |
| 3 | XL | 50 | Box | L | |
| 4 | M | 12 | |||
| 5 | L | 25 |
Ukuran yang muat untuk 18 liter adalah 25 dan 50, dan yang lebih kecil adalah 25, item keempat, kotak L. Ubah E1 menjadi 12 untuk kecocokan persis (M) atau menjadi 40 untuk XL. match_mode -1 adalah kebalikannya: nilai terbesar yang kurang dari atau sama dengan nilai yang dicari, aturan untuk golongan pajak dan tingkat komisi. XLOOKUP punya dua mode yang sama dan langsung mengembalikan nilainya.
Mencari dari item terakhir
search_mode -1 dimulai dari bawah, jadi XMATCH mengembalikan posisi kecocokan terakhir. Posisinya tetap dihitung dari atas range.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | 5 | |
| 3 | 2026-03-05 | Ana | 80 | Last date | 2026-03-20 | |
| 4 | 2026-03-09 | Ben | 45 | First position | 1 | |
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
Ben muncul di posisi 1, 3 dan 5. Pencarian maju mengembalikan 1 dan pencarian mundur mengembalikan 5, yaitu pesanannya pada 2026-03-20. Sebelum ada XMATCH, posisi terakhir butuh trik array: =MATCH(2,1/(B2:B7=F1)).
Wildcard butuh match_mode 2
Dengan match_mode 2, * mewakili karakter apa pun dan ? mewakili tepat satu karakter. Di mode-mode lainnya, keduanya adalah karakter biasa, sedangkan MATCH memperlakukannya sebagai wildcard setiap kali match_type bernilai 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Pattern | Position | |
| 2 | Green tea | *coffee | 2 | |
| 3 | Iced coffee | ?lack* | 4 | |
| 4 | Coffee beans | |||
| 5 | Black tea | |||
| 6 | Orange juice |
*coffee (apa saja yang diakhiri "coffee") cocok dengan Iced coffee di posisi 2, dan ?lack* cocok dengan Black tea di posisi 4. Coffee beans tidak cocok dengan *coffee, karena polanya tidak punya * di akhir. Tanpa match_mode 2, pola yang sama dicari sebagai teks apa adanya, jadi di Excel hasilnya #N/A:
=XMATCH("*coffee", A2:A6) #N/A: no cell is literally "*coffee"
=XMATCH("*coffee", A2:A6, 2) 2
XMATCH vs MATCH
| MATCH | XMATCH | |
|---|---|---|
| Default jika mode dikosongkan | Perkiraan (1), data harus terurut | Persis |
| Nilai lebih kecil berikutnya | 1, data terurut naik | -1, urutan bebas |
| Nilai lebih besar berikutnya | -1, data terurut turun | 1, urutan bebas |
| Wildcard | Selalu aktif dengan 0 | Hanya dengan match_mode 2 |
| Kecocokan terakhir | Tidak | search_mode -1 |
| Versi | Semua | Excel 2021 dan Microsoft 365 |
Tandanya terbalik: -1 pada MATCH menemukan nilai lebih besar berikutnya, sedangkan -1 pada XMATCH menemukan nilai lebih kecil berikutnya. Saat mengubah MATCH(E2,A2:A6,0) menjadi XMATCH, hapus angka 0-nya; saat mengubah MATCH dengan pencocokan perkiraan, balik tandanya dan urutan data tidak lagi berpengaruh. Halaman MATCH membahas fungsi yang lebih lama itu.
Latihan: posisi pesanan terakhir
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | ||
| 3 | 2026-03-05 | Ana | 80 | |||
| 4 | 2026-03-09 | Ben | 45 | |||
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
Giliranmu: Di F2, kembalikan posisi pesanan terakhir dari pelanggan di F1.
Pertanyaan yang sering diajukan
Apa perbedaan MATCH dan XMATCH?
XMATCH memakai pencocokan persis sebagai default (MATCH memakai pencocokan perkiraan), menemukan nilai lebih kecil atau lebih besar berikutnya tanpa butuh data terurut, bisa mencari dari item terakhir ke atas, dan hanya memperlakukan * dan ? sebagai wildcard jika kamu memintanya dengan match_mode 2. Fungsi ini butuh Excel 2021 atau Microsoft 365.
Bagaimana cara menemukan kemunculan terakhir dengan XMATCH?
Isi search_mode, argumen keempat, dengan -1: =XMATCH("Ben",B2:B7,0,-1) mengembalikan posisi Ben yang terakhir di B2:B7. Posisinya tetap dihitung dari atas range.
Apa yang dikembalikan XMATCH jika tidak ada yang cocok?
#N/A, sama seperti MATCH. Bungkus dengan IFNA untuk menampilkan hal lain: =IFNA(XMATCH(E2,A2:A6),"Not in list").
Apakah XMATCH bisa menggantikan MATCH di dalam INDEX?
Bisa. =INDEX(C2:C6,XMATCH(E2,A2:A6)) bekerja seperti INDEX dengan MATCH(E2,A2:A6,0), tanpa angka 0 yang bisa terlupa. Pakai MATCH saja jika file-nya harus bisa dibuka di Excel 2019 atau yang lebih lama.