Daftar Isi
Tutorial ini memperkenalkan fungsi Excel XMATCH baru dan menunjukkan bagaimana fungsi ini lebih baik daripada MATCH untuk menyelesaikan beberapa tugas umum.
Di Excel 365, fungsi XMATCH ditambahkan untuk menggantikan fungsi MATCH. Namun sebelum Anda mulai mengupgrade rumus yang ada, sebaiknya Anda memahami semua keuntungan dari fungsi baru dan perbedaannya dengan fungsi lama.
Secara ringkas, fungsi XMATCH sama dengan MATCH tetapi lebih fleksibel dan kuat. Fungsi ini bisa mencari baik dalam susunan vertikal maupun horizontal, mencari dari pertama-ke-terakhir atau terakhir-ke-pertama, menemukan kecocokan eksak, perkiraan dan parsial, dan menggunakan algoritma pencarian biner yang lebih cepat.
Fungsi Excel XMATCH
Fungsi XMATCH di Excel mengembalikan posisi relatif nilai dalam larik atau rentang sel.
Ini memiliki sintaksis berikut ini:
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])Di mana:
Lookup_value (wajib) - nilai yang dicari.
Lookup_array (wajib) - larik atau rentang sel tempat mencari.
Match_mode (opsional) - menentukan jenis kecocokan mana yang akan digunakan:
- 0 atau dihilangkan (default) - pencocokan persis
- -1 - sama persis atau nilai terkecil berikutnya
- 1 - sama persis atau nilai terbesar berikutnya
- 2 - pencocokan wildcard (*, ?)
Search_mode (opsional) - menentukan arah dan algoritma pencarian:
- 1 atau dihilangkan (default) - cari dari yang pertama sampai yang terakhir.
- -1 - cari dalam urutan terbalik dari terakhir ke pertama.
- 2 - pencarian biner naik. Membutuhkan lookup_array untuk diurutkan dalam urutan menaik.
- -2 - pencarian biner menurun. lookup_array untuk diurutkan dalam urutan menurun.
Pencarian biner adalah algoritma yang lebih cepat yang bekerja secara efisien pada array yang diurutkan. Untuk info lebih lanjut, silakan lihat Mode pencarian.
Versi Excel mana yang memiliki XMATCH?
Fungsi XMATCH hanya tersedia di Excel untuk Microsoft 365 dan Excel 2021. Di Excel 2019, Excel 2016 dan versi sebelumnya, fungsi ini tidak didukung.
Rumus dasar XMATCH di Excel
Untuk mendapatkan gambaran umum tentang apa yang mampu dilakukan oleh fungsi ini, mari kita buat rumus XMATCH dalam bentuknya yang paling sederhana, dengan hanya mendefinisikan dua argumen pertama yang diperlukan dan membiarkan yang opsional menjadi defaultnya.
Misalkan, Anda memiliki daftar samudra yang diurutkan berdasarkan ukurannya (C2:C6) dan Anda ingin menemukan peringkat samudra tertentu. Untuk melakukannya, cukup gunakan nama samudra, katakanlah India sebagai nilai pencarian dan seluruh daftar nama sebagai array pencarian:
=XMATCH("Indian", C2:C6)
Untuk membuat rumusnya lebih fleksibel, masukkan samudra yang diinginkan ke dalam suatu cell, misalnya F1:
=XMATCH(F1, C2:C6)
Sebagai hasilnya, Anda mendapatkan rumus XMATCH untuk dicari dalam sebuah susunan vertikal Keluarannya adalah posisi relatif dari nilai pencarian di dalam larik, yang dalam kasus kita sesuai dengan peringkat lautan:
Formula serupa bekerja sempurna untuk larik horizontal Yang perlu Anda lakukan adalah menyesuaikan lookup_array referensi:
=XMATCH(B5, B1:F1)
Fungsi Excel XMATCH - hal-hal yang perlu diingat
Untuk menggunakan XMATCH secara efektif dalam lembar kerja Anda dan mencegah hasil yang tidak diharapkan, harap ingat 3 fakta sederhana ini:
- Jika terdapat dua atau lebih kemunculan nilai pencarian dalam larik pencarian, posisi dari pertandingan pertama dikembalikan jika search_mode argumen diatur ke 1 atau dihilangkan. Dengan search_mode diset ke -1, fungsi mencari dalam urutan terbalik dan mengembalikan posisi dari pertandingan terakhir seperti yang ditunjukkan dalam contoh ini.
- Jika nilai pencarian tidak ditemukan , terjadi kesalahan #N/A.
- Fungsi XMATCH adalah tidak peka huruf besar-kecil Untuk membedakan karakter huruf kecil dan huruf besar, gunakan rumus XMATCH yang peka huruf besar ini.
Cara menggunakan XMATCH di Excel - contoh rumus
Contoh-contoh berikut ini akan membantu Anda mendapatkan pemahaman lebih banyak tentang fungsi XMATCH dan penggunaan praktisnya.
Kecocokan yang tepat vs. perkiraan kecocokan
Perilaku pencocokan XMATCH dikendalikan oleh opsional match_mode argumen:
- 0 atau dihilangkan (default) - rumus hanya mencari kecocokan yang tepat. Jika kecocokan yang tepat tidak ditemukan, kesalahan #N/A akan dikembalikan.
- -1 - rumus mencari yang sama persis terlebih dahulu, dan kemudian untuk item berikutnya yang lebih kecil.
- 1 - rumus mencari yang sama persis terlebih dahulu, dan kemudian untuk item berikutnya yang lebih besar.
Dan sekarang, mari kita lihat bagaimana mode kecocokan yang berbeda mempengaruhi hasil rumus. Misalkan Anda ingin mengetahui di mana suatu area tertentu, katakanlah 80.000.000 km2, berada di antara semua samudra.
Kecocokan yang tepat
Jika Anda menggunakan 0 untuk match_mode Anda akan mendapatkan error #N/A, karena formula tidak bisa menemukan nilai yang sama persis dengan nilai pencarian:
=XMATCH(80000000, C2:C6, 0)
Item terkecil berikutnya
Jika Anda menggunakan -1 untuk match_mode , rumus akan mengembalikan 3, karena kecocokan terdekat yang lebih kecil dari nilai pencarian adalah 70,560,000, dan itu adalah item ke-3 dalam array pencarian:
=XMATCH(80000000, C2:C6, -1)
Item terbesar berikutnya
Jika Anda menggunakan 1 untuk match_mode , rumus akan menghasilkan 2, karena kecocokan terdekat yang lebih besar dari nilai pencarian adalah 85,133,000, yang merupakan item ke-2 dalam array pencarian:
=XMATCH(80000000, C2:C6, -1)
Gambar di bawah ini menunjukkan semua hasil:
Cara mencocokkan teks parsial di Excel dengan wildcard
Fungsi XMATCH memiliki mode pencocokan khusus untuk wildcard: fungsi match_mode argumen diatur ke 2.
Dalam mode pencocokan wildcard, formula XMATCH menerima karakter wildcard berikut ini:
- Tanda tanya (?) untuk mencocokkan karakter tunggal apa pun.
- Asterisk (*) untuk mencocokkan urutan karakter apa pun.
Harap diingat, bahwa wildcard hanya berfungsi dengan teks, bukan angka.
Misalnya, untuk menemukan posisi item pertama yang dimulai dengan "south", rumusnya adalah:
=XMATCH("selatan*", B2:B6, 2)
Atau Anda bisa mengetikkan ekspresi wildcard Anda di suatu cell, misalnya F1, dan menyediakan referensi cell untuk ekspresi tersebut lookup_value argumen:
=XMATCH(F1, B2:B6, 2)
Dengan sebagian besar fungsi Excel, Anda akan menggunakan tilde (~) untuk memperlakukan tanda bintang (~ *) atau tanda tanya (~?) sebagai karakter literal, bukan wildcard. Dengan XMATCH, tilde tidak diperlukan. Jika Anda tidak menentukan mode pencocokan wildcard, XMATCH akan menganggap bahwa ? dan * adalah karakter biasa.
Misalnya, rumus di bawah ini akan mencari rentang A2: A7 persis untuk karakter asterisk:
=XMATCH("*", A2:A7)
Pencarian terbalik XMATCH untuk menemukan kecocokan terakhir
Jika ada beberapa kejadian nilai pencarian dalam larik pencarian, terkadang Anda mungkin perlu mendapatkan posisi dari kejadian terakhir .
Arah pencarian dikontrol menjadi argumen ke-4 dari XMATCH bernama search_mode Untuk mencari dalam urutan terbalik, yaitu dari bawah ke atas dalam larik vertikal dan dari kanan ke kiri dalam larik horizontal, search_mode harus ditetapkan ke -1.
Dalam contoh ini, kami akan mengembalikan posisi record terakhir untuk nilai pencarian tertentu (lihat gambar di bawah). Untuk ini, siapkan argumen sebagai berikut:
- Lookup_value - target tenaga penjualan di H1
- Lookup_array - nama penjual di C2: C10
- Match_mode adalah 0 atau dihilangkan (pencocokan persis)
- Search_mode adalah -1 (terakhir-ke-pertama)
Menyatukan keempat argumen tersebut, kita mendapatkan rumus ini:
=XMATCH(H1, C2:C10, 0, -1)
Yang mengembalikan nomor penjualan terakhir yang dilakukan oleh Laura:
Bagaimana membandingkan dua kolom di Excel untuk pencocokan
Untuk membandingkan dua daftar untuk kecocokan, Anda bisa menggunakan fungsi XMATCH bersama dengan IF dan ISNA:
IF( ISNA( XMATCH( daftar_target , daftar_pencarian , 0)), "Tidak cocok", "Cocok")Misalnya, untuk membandingkan Daftar 2 dalam B2:B10 dengan Daftar 1 dalam A2:A10, rumusnya mengambil bentuk berikut ini:
=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Cocokkan dalam Daftar 1")
Dalam contoh ini, kita hanya mengidentifikasi kecocokan, oleh karena itu value_if_true argumen dari fungsi IF adalah string kosong ("").
Masukkan rumus di atas di sel paling atas (C2 dalam kasus kami), tekan Memasukkan , dan itu akan "tumpah" ke dalam sel lain secara otomatis (ini disebut rentang tumpahan):
Bagaimana formula ini bekerja
Di jantung rumus, fungsi XMATCH mencari nilai dari Daftar 2 dalam Daftar 1. Jika nilai ditemukan, posisi relatifnya dikembalikan, jika tidak, kesalahan # N / A. Dalam kasus kami, hasil XMATCH adalah larik berikut:
{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}
Larik ini "diumpankan" ke fungsi ISNA untuk diperiksa untuk kesalahan #N/A. Untuk setiap kesalahan #N/A, ISNA mengembalikan TRUE; untuk nilai lainnya - FALSE. Sebagai hasilnya, ia menghasilkan larik nilai logika berikut, di mana TRUE mewakili non-match, dan FALSE mewakili match:
{BENAR;BENAR;SALAH;BENAR;SALAH;SALAH;BENAR;BENAR;SALAH;BENAR}
Array di atas masuk ke tes logika fungsi IF. Bergantung pada bagaimana Anda mengonfigurasi dua argumen terakhir, rumus akan mengeluarkan teks yang sesuai. Dalam kasus kami, ini adalah string kosong ("") untuk yang tidak cocok ( value_if_true ) dan "Cocokkan dalam Daftar 1" untuk kecocokan ( value_if_false ).
Catatan. Rumus ini hanya berfungsi di Excel 365 dan Excel 2021 yang mendukung array dinamis. Jika Anda menggunakan Excel 2019, Excel 2016 atau versi sebelumnya, silakan lihat solusi lain: Cara membandingkan dua kolom di Excel.
INDEKS XMATCH di Excel
XMATCH dapat digunakan dalam kombinasi dengan fungsi INDEX untuk mengambil nilai dari kolom lain yang terkait dengan nilai pencarian, seperti rumus INDEX MATCH. Pendekatan generiknya adalah sebagai berikut:
INDEX ( kembali _ array , XMATCH ( lookup_value , lookup_array )Logikanya sangat lugas dan mudah diikuti:
Fungsi XMATCH menghitung posisi relatif dari nilai pencarian dalam larik pencarian dan meneruskannya ke fungsi row_num argumen INDEX. Berdasarkan nomor baris, fungsi INDEX mengembalikan nilai dari kolom apa pun yang Anda tentukan.
Contohnya, untuk mencari area lautan di E1, Anda bisa menggunakan rumus ini:
=INDEX(B2:B6, XMATCH(E1, A2:A6))
INDEX XMATCH XMATCH untuk melakukan pencarian 2-dimensi
Untuk mencari dalam kolom dan baris secara simultan, gunakan INDEX bersama dengan dua fungsi XMATCH. XMATCH pertama akan mendapatkan nomor baris dan yang kedua akan mengambil nomor kolom:
INDEX ( data , XMATCH ( lookup_value , vertikal _ lookup_array ), XMATCH ( nilai pencarian , horizontal _ lookup_array ))Rumusnya mirip dengan INDEX MATCH MATCH kecuali bahwa Anda bisa menghilangkan match_mode argumen karena secara default adalah pencocokan persis.
Misalnya, untuk mengambil nomor penjualan untuk item tertentu (G1) pada bulan tertentu (G2), rumusnya adalah:
=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))
Di mana B2:D8 adalah sel data tidak termasuk header baris dan kolom, A2:A8 adalah daftar item dan B1:D1 adalah nama bulan.
Rumus XMATCH yang peka huruf besar-kecil
Seperti yang telah disebutkan, fungsi Excel XMATCH tidak peka huruf besar-kecil secara desain. Untuk memaksanya membedakan kasus teks, gunakan XMATCH dalam kombinasi dengan fungsi EXACT:
MATCH(TRUE, EXACT( lookup_array , lookup_value ))Untuk mencari di urutan terbalik dari yang terakhir ke yang pertama:
MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)Contoh berikut menunjukkan rumus umum ini dalam tindakan. Misalkan Anda memiliki daftar id produk case-sensitive di B2: B11. Anda ingin menemukan posisi relatif item di E1. Rumus case-sensitive di E2 sesederhana ini:
=XMATCH(TRUE, EXACT(B2:B11, E1))
Bagaimana formula ini bekerja:
Fungsi EXACT membandingkan nilai pencarian terhadap setiap item dalam larik pencarian. Jika nilai yang dibandingkan persis sama, termasuk kasus karakter, fungsi mengembalikan TRUE, FALSE jika tidak. Larik nilai logis ini (di mana TRUE mewakili kecocokan yang tepat) pergi ke lookup_array argumen XMATCH. Dan karena nilai pencarian adalah TRUE, fungsi XMATCH mengembalikan posisi kecocokan persis yang pertama kali ditemukan atau kecocokan persis terakhir, tergantung pada bagaimana Anda mengonfigurasi fungsi XMATCH. search_mode argumen.
XMATCH vs MATCH di Excel
XMATCH didesain sebagai pengganti yang lebih kuat dan serbaguna untuk MATCH, sehingga kedua fungsi ini memiliki banyak kesamaan. Namun demikian, ada perbedaan yang esensial.
Perilaku default yang berbeda
Fungsi MATCH secara default adalah pencocokan persis atau item terkecil berikutnya ( match_type diatur ke 1 atau dihilangkan).
Fungsi XMATCH secara default adalah pencocokan persis ( match_mode diatur ke 0 atau dihilangkan).
Perilaku yang berbeda untuk perkiraan kecocokan
Ketika match_mode / match_type argumen diatur ke 1:
- MATCH mencari kecocokan persis atau terkecil berikutnya. Mensyaratkan bahwa array pencarian harus diurutkan dalam urutan menaik.
- XMATCH mencari yang sama persis atau yang terbesar berikutnya. Tidak memerlukan penyortiran apa pun.
Ketika match_mode / match_type argumen diatur ke -1:
- MATCH mencari yang sama persis atau yang terbesar berikutnya. Membutuhkan pengurutan array pencarian dalam urutan menurun.
- XMATCH mencari yang sama persis atau yang terkecil berikutnya. Tidak memerlukan penyortiran apa pun.
Pencarian kartu liar
Untuk menemukan kecocokan parsial dengan XMATCH, Anda perlu menetapkan match_mode argumen ke 2.
Fungsi MATCH tidak memiliki opsi mode pencocokan wildcard khusus. Dalam kebanyakan kasus, Anda akan mengonfigurasinya untuk pencocokan persis ( match_type ditetapkan ke 0), yang juga berfungsi untuk pencarian wildcard.
Mode pencarian
Seperti fungsi XLOOKUP baru, XMATCH memiliki fungsi khusus search_mode yang memungkinkan Anda untuk mendefinisikan arah pencarian :
- 1 atau dihilangkan (default) - cari pertama-ke-terakhir.
- -1 - pencarian terbalik terakhir-ke-pertama.
Dan pilihlah algoritma pencarian biner yang sangat cepat dan efisien pada data yang diurutkan .
- 2 - pencarian biner pada data yang diurutkan menaik.
- -2 - pencarian biner pada data yang diurutkan menurun.
Pencarian biner , juga disebut pencarian setengah interval atau pencarian logaritmik adalah algoritma khusus yang menemukan posisi nilai pencarian dalam sebuah larik dengan membandingkannya dengan elemen tengah larik. Pencarian biner jauh lebih cepat daripada pencarian biasa tetapi bekerja dengan benar hanya pada daftar yang diurutkan. Pada data yang tidak diurutkan, ia dapat mengembalikan hasil yang salah yang mungkin terlihat cukup normal pada pandangan pertama.
Sintaks MATCH sama sekali tidak menyediakan argumen mode pencarian.
XMATCH menangani larik secara native
Tidak seperti pendahulunya, fungsi XMATCH dirancang untuk Excel dinamis dan menangani array secara native, tanpa Anda harus menekan Ctrl + Shift + Enter . Ini membuat rumus lebih mudah dibuat dan diedit, terutama saat menggunakan beberapa fungsi berbeda secara bersamaan. Bandingkan saja solusi berikut:
- Rumus peka huruf besar-kecil: XMATCH
- Bandingkan dua kolom atau daftar untuk kecocokan: XMATCH
Ketersediaan XMATCH dan MATCH
XMATCH adalah fungsi baru dan hanya tersedia di Excel untuk Microsoft 365 dan Excel 2021.
Fungsi MATCH tersedia dalam versi Excel 365 hingga Excel 2007.
Itulah cara menggunakan fungsi XMATCH di Excel. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!
Buku kerja latihan untuk diunduh
Contoh rumus Excel XMATCH (file .xlsx)