=MATCH(E2,A2:A6,0) mengembalikan posisi nilai di E2 di dalam A2:A6: 1 untuk sel pertama, 2 untuk sel kedua, dan seterusnya. Angka 0 meminta pencocokan yang sama persis. MATCH mengembalikan angka, bukan nilainya, itulah sebabnya MATCH biasanya dipasangkan dengan INDEX.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Position | |
| 2 | Apple | Fruit | $1.20 | Bread | 4 | |
| 3 | Pear | Fruit | $1.50 | |||
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
Bread ada di sel keempat A2:A6, jadi F2 menampilkan 4. Hitungannya dimulai dari sel pertama rentang, bukan dari baris 1 sheet: ubah rentangnya menjadi A1:A6, maka jawabannya menjadi 5. Ketik Kiwi di E2, maka MATCH mengembalikan #N/A.
Sintaks MATCH dan tipe pencocokan
=MATCH(lookup_value, lookup_array, [match_type])
| match_type | Yang dicari | Daftarnya harus |
|---|---|---|
0 | Nilai pertama yang sama persis dengan lookup_value. Wildcard boleh dipakai untuk teks. | dalam urutan apa pun |
1 atau dikosongkan | Nilai terbesar yang lebih kecil atau sama dengan lookup_value. | diurutkan naik |
-1 | Nilai terkecil yang lebih besar atau sama dengan lookup_value. | diurutkan turun |
Nilai bawaannya 1, bukan 0. MATCH tanpa argumen ketiga pada daftar nama yang tidak diurutkan tidak akan memberi peringatan: rumus itu mengembalikan posisi yang mungkin milik baris lain. Selalu tulis 0 setiap kali kamu mencari teks, kode atau ID.
Pencocokan perkiraan: nilai masuk rentang mana
Dengan match type 1, MATCH menjawab pertanyaan "masuk rentang mana": posisi ambang batas terakhir yang sudah dicapai nilai itu. Di sini nilai 75 sudah melewati 0, 60 dan 70, jadi masuk rentang 3, nilai C.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Min score | Grade | Score | Band | Grade | |
| 2 | 0 | F | 75 | 3 | C | |
| 3 | 60 | D | 59 | 1 | F | |
| 4 | 70 | C | 90 | 5 | A | |
| 5 | 80 | B | 100 | 5 | A | |
| 6 | 90 | A |
59 masih di bawah 60, jadi masuk rentang 1 (F). 90 sama persis dengan ambang batas terakhir, dan 100 berada di atasnya, jadi keduanya masuk rentang 5 (A). Ambang batasnya harus tetap diurutkan naik: itulah yang membuat MATCH berhenti di tempat yang tepat.
Match type -1 adalah kebalikannya, untuk daftar yang diurutkan dari terbesar ke terkecil. Hasilnya adalah posisi nilai terkecil yang masih lebih besar atau sama dengan nilai yang dicari: dengan ukuran {50;25;12;5} di sebuah kolom, =MATCH(18,D2:D5,-1) mengembalikan 2, yaitu ukuran 25, ukuran terkecil yang muat untuk 18.
Wildcard dan huruf besar kecil
MATCH mengabaikan huruf besar kecil, dan dengan match type 0 rumus ini menerima wildcard * (karakter apa saja) dan ? (tepat satu karakter). Untuk pencocokan yang membedakan huruf besar kecil, bandingkan daftarnya dengan EXACT lalu cari TRUE yang pertama.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Category | Price | Starts with "C" | 3 |
| 2 | Apple | Fruit | $1.20 | Lower case "milk" | 5 |
| 3 | Pear | Fruit | $1.50 | Exactly "milk" | #N/A |
| 4 | Carrot | Vegetable | $0.80 | ||
| 5 | Bread | Bakery | $2.40 | ||
| 6 | Milk | Dairy | $1.10 |
"C*" cocok dengan Carrot, posisi 3. "milk" menemukan Milk di posisi 5, karena huruf besar kecil diabaikan. Versi EXACT membandingkan setiap nama dengan "milk" huruf per huruf, tidak menemukan TRUE, lalu mengembalikan #N/A. Ubah A6 menjadi milk, maka hasilnya 5. Di Excel 2019 dan versi lebih lama, konfirmasi rumus EXACT dengan Ctrl+Shift+Enter (Cmd+Shift+Enter di Mac); di Excel 2021 dan Microsoft 365, Enter saja sudah cukup. Tanda tilde membuat wildcard dibaca apa adanya: "~*" mencari tanda bintang yang sebenarnya.
Cek apakah sebuah nilai ada di daftar
MATCH mengembalikan angka kalau nilainya ditemukan dan #N/A kalau tidak. ISNUMBER mengubahnya menjadi TRUE atau FALSE, cara cepat untuk menguji "apakah nilai ini ada di daftar".
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Ordered | In stock? | In stock | |
| 2 | Pear | Yes | Apple | |
| 3 | Kiwi | No | Pear | |
| 4 | Milk | Yes | Bread | |
| 5 | Plum | No | Milk | |
| 6 | Bread | Yes |
Pear, Milk dan Bread ada di D2:D5, jadi hasilnya Yes. Kiwi dan Plum hasilnya No. COUNTIF($D$2:$D$5,A2)>0 memberi jawaban yang sama; MATCH berhenti di temuan pertama, sedangkan COUNTIF menghitung semuanya.
MATCH, XMATCH dan INDEX
MATCH adalah separuh dari lookup klasik =INDEX(C2:C6,MATCH(E2,A2:A6,0)), yang dijelaskan di halaman INDEX dan MATCH. Excel 2021 dan Microsoft 365 menambahkan XMATCH, yang secara bawaan mencari nilai yang sama persis, bisa mencari dari item terakhir ke atas, dan bisa mencari "nilai berikutnya yang lebih besar" tanpa pengurutan turun. MATCH tetap berfungsi di mana saja, termasuk di file yang harus bisa dibuka di Excel 2019.
Latihan: posisi seorang karyawan
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Team | Start year | Name | Position | |
| 2 | Ana | Sales | 2019 | Dev | ||
| 3 | Ben | Support | 2021 | |||
| 4 | Cara | Sales | 2018 | |||
| 5 | Dev | Finance | 2022 | |||
| 6 | Eli | Support | 2020 | |||
| 7 | Fay | Finance | 2023 |
Giliranmu: Di F2, kembalikan posisi nama di E2 di dalam daftar di kolom A.
Pertanyaan yang sering diajukan
Apa yang dikembalikan MATCH di Excel?
Sebuah posisi, bukan nilai: =MATCH("Bread",A2:A6,0) mengembalikan 4 kalau Bread ada di sel keempat A2:A6. Pasangkan dengan INDEX untuk mengambil nilai di posisi itu dari kolom lain.
Apa perbedaan match type 0, 1 dan -1?
0 mencari nilai yang sama persis, dalam urutan apa pun. 1 (bawaan) mencari nilai terbesar yang lebih kecil atau sama dengan nilai yang dicari, dan daftarnya harus diurutkan naik. -1 mencari nilai terkecil yang lebih besar atau sama dengannya, dan daftarnya harus diurutkan turun.
Apakah MATCH membedakan huruf besar dan kecil?
Tidak. =MATCH("milk",A2:A6,0) menemukan Milk. Untuk pencocokan yang membedakan huruf besar kecil, pakai =MATCH(TRUE,EXACT(A2:A6,"milk"),0), yang butuh Ctrl+Shift+Enter (Cmd+Shift+Enter di Mac) di Excel 2019 dan versi lebih lama.
Bagaimana cara mengecek apakah sebuah nilai ada di daftar dengan MATCH?
MATCH mengembalikan #N/A kalau nilainya tidak ada, jadi uji apakah hasilnya angka: =ISNUMBER(MATCH(A2,$D$2:$D$5,0)) memberi TRUE atau FALSE. Bungkus dengan IF untuk menampilkan teksmu sendiri.