Excel INDEX MATCH vs VLOOKUP - contoh rumus

  • Bagikan Ini
Michael Brown

Tutorial ini menunjukkan cara menggunakan INDEX dan MATCH di Excel dan bagaimana itu lebih baik daripada VLOOKUP.

Dalam beberapa artikel baru-baru ini, kami berusaha keras untuk menjelaskan dasar-dasar fungsi VLOOKUP kepada pemula dan memberikan contoh rumus VLOOKUP yang lebih kompleks kepada pengguna yang mahir. Dan sekarang, saya akan mencoba jika tidak membujuk Anda keluar dari penggunaan VLOOKUP, maka setidaknya menunjukkan kepada Anda cara alternatif untuk melakukan pencarian vertikal di Excel.

"Untuk apa saya membutuhkannya?" Anda mungkin bertanya-tanya. Karena VLOOKUP memiliki banyak keterbatasan yang dapat mencegah Anda mendapatkan hasil yang diinginkan dalam banyak situasi. Di sisi lain, kombinasi INDEX MATCH lebih fleksibel dan memiliki banyak fitur luar biasa yang membuatnya lebih unggul dari VLOOKUP dalam banyak hal.

    Fungsi INDEX dan MATCH Excel - dasar-dasarnya

    Karena tujuan tutorial ini adalah untuk mendemonstrasikan cara alternatif untuk melakukan vlookup di Excel dengan menggunakan kombinasi fungsi INDEX dan MATCH, kami tidak akan banyak membahas sintaks dan penggunaannya. Kami hanya akan membahas minimum yang diperlukan untuk memahami ide umum dan kemudian melihat secara mendalam contoh rumus yang mengungkapkan semua keuntungan menggunakan INDEX MATCH daripada VLOOKUP.

    Fungsi INDEX - sintaksis dan penggunaan

    Fungsi INDEX Excel mengembalikan nilai dalam larik berdasarkan nomor baris dan kolom yang Anda tentukan. Sintaks fungsi INDEX sangat mudah:

    INDEX(array, row_num, [column_num])

    Berikut ini adalah penjelasan yang sangat sederhana mengenai masing-masing parameter:

    • array - rentang sel yang ingin Anda kembalikan nilainya.
    • row_num - nomor baris dalam larik yang ingin Anda kembalikan nilainya. Jika dihilangkan, column_num diperlukan.
    • column_num - nomor kolom dalam larik yang ingin Anda kembalikan nilainya. Jika dihilangkan, row_num diperlukan.

    Untuk informasi lebih lanjut, silakan lihat fungsi INDEX Excel.

    Dan berikut ini adalah contoh rumus INDEX dalam bentuknya yang paling sederhana:

    =INDEX(A1:C10,2,3)

    Rumus mencari di sel A1 hingga C10 dan mengembalikan nilai sel di baris ke-2 dan kolom ke-3, yaitu sel C2.

    Sangat mudah, bukan? Namun, ketika bekerja dengan data nyata Anda hampir tidak pernah tahu baris dan kolom mana yang Anda inginkan, di situlah fungsi MATCH berguna.

    Fungsi MATCH - sintaks dan penggunaan

    Fungsi Excel MATCH mencari nilai pencarian dalam rentang sel dan mengembalikan posisi relatif dari nilai itu dalam kisaran tersebut.

    Sintaks dari fungsi MATCH adalah sebagai berikut:

    MATCH(lookup_value, lookup_array, [match_type])
    • lookup_value - angka atau nilai teks yang Anda cari.
    • lookup_array - rentang sel yang sedang dicari.
    • match_type - menentukan apakah akan mengembalikan kecocokan persis atau kecocokan terdekat:
      • 1 atau dihilangkan - menemukan nilai terbesar yang kurang dari atau sama dengan nilai pencarian. Membutuhkan pengurutan array pencarian dalam urutan menaik.
      • 0 - menemukan nilai pertama yang persis sama dengan nilai pencarian. Dalam kombinasi INDEX / MATCH, Anda hampir selalu membutuhkan kecocokan yang tepat, jadi Anda menyetel argumen ketiga dari fungsi MATCH Anda ke 0.
      • -1 - menemukan nilai terkecil yang lebih besar atau sama dengan lookup_value. Membutuhkan pengurutan array lookup dalam urutan menurun.

    Misalnya, jika rentang B1: B3 berisi nilai "New-York", "Paris", "London", rumus di bawah ini mengembalikan angka 3, karena "London" adalah entri ketiga dalam rentang tersebut:

    =MATCH("London", B1:B3,0)

    Untuk informasi lebih lanjut, silakan lihat fungsi Excel MATCH.

    Pada pandangan pertama, kegunaan fungsi MATCH mungkin tampak dipertanyakan. Siapa yang peduli dengan posisi nilai dalam suatu range? Yang ingin kita ketahui adalah nilai itu sendiri.

    Izinkan saya mengingatkan Anda bahwa posisi relatif dari nilai pencarian (yaitu, nomor baris dan kolom) adalah persis apa yang perlu Anda berikan kepada row_num dan column_num Seperti yang Anda ingat, INDEX Excel dapat menemukan nilai pada persimpangan baris dan kolom tertentu, tetapi tidak dapat menentukan baris dan kolom mana yang Anda inginkan.

    Cara menggunakan fungsi INDEX MATCH di Excel

    Sekarang setelah Anda mengetahui dasar-dasarnya, saya yakin sudah mulai masuk akal bagaimana MATCH dan INDEX bekerja bersama. Singkatnya, INDEX menemukan nilai pencarian berdasarkan nomor kolom dan baris, dan MATCH menyediakan nomor-nomor tersebut. Itu saja!

    Untuk pencarian vertikal, Anda menggunakan fungsi MATCH hanya untuk menentukan nomor baris dan menyediakan rentang kolom langsung ke INDEX:

    INDEX ( kolom untuk mengembalikan nilai dari , MATCH ( nilai pencarian , kolom untuk melihat ke atas terhadap , 0))

    Masih mengalami kesulitan untuk mengetahuinya? Mungkin akan lebih mudah untuk memahami dari sebuah contoh. Misalkan Anda memiliki daftar ibukota negara dan populasinya:

    Untuk mencari populasi dari suatu ibukota tertentu, katakanlah ibukota Jepang, gunakan rumus INDEX MATCH berikut ini:

    =INDEX(C2:C10, MATCH("Jepang", A2:A10, 0))

    Sekarang, mari kita analisis apa yang sebenarnya dilakukan oleh masing-masing komponen formula ini:

    • Fungsi MATCH mencari nilai pencarian "Jepang" dalam rentang A2: A10, dan mengembalikan angka 3, karena "Jepang" berada di urutan ketiga dalam larik pencarian.
    • Nomor baris langsung menuju ke row_num argumen INDEX yang menginstruksikannya untuk mengembalikan nilai dari baris itu.

    Jadi, rumus di atas berubah menjadi INDEX sederhana (C2: C, 3) yang mengatakan untuk mencari di sel C2 hingga C10 dan menarik nilai dari sel ke-3 dalam rentang itu, yaitu C4 karena kita mulai menghitung dari baris kedua.

    Tidak ingin meng-hardcode kota dalam rumusnya? Masukkan di beberapa cell, misalnya F1, berikan referensi cellnya ke MATCH, dan kamu akan mendapatkan rumus pencarian dinamis:

    =INDEX(C2:C10, MATCH(F1,A2:A10,0))

    Catatan penting! Jumlah baris dalam array argumen INDEX harus sesuai dengan jumlah baris di dalam lookup_array argumen MATCH, jika tidak, rumus akan menghasilkan hasil yang salah.

    Tunggu, tunggu... mengapa kita tidak menggunakan rumus Vlookup berikut ini saja? Apa gunanya membuang-buang waktu mencoba mencari tahu liku-liku misterius Excel MATCH INDEX?

    =VLOOKUP(F1, A2:C10, 3, FALSE)

    Dalam hal ini, tidak ada gunanya sama sekali :) Contoh sederhana ini hanya untuk tujuan demonstrasi saja, sehingga Anda bisa merasakan bagaimana fungsi INDEX dan MATCH bekerja sama. Contoh lain yang mengikuti di bawah ini akan menunjukkan kepada Anda kekuatan nyata dari kombinasi ini yang dengan mudah mengatasi banyak skenario kompleks ketika VLOOKUP tersandung.

    Tips:

    • Di Excel 365 dan Excel 2021, Anda dapat menggunakan rumus INDEX XMATCH yang lebih modern.
    • Untuk Google Spreadsheet, lihat contoh rumus dengan INDEX MATCH di artikel ini.

    INDEX MATCH vs VLOOKUP

    Ketika memutuskan fungsi mana yang akan digunakan untuk pencarian vertikal, sebagian besar ahli Excel setuju bahwa INDEX MATCH jauh lebih baik daripada VLOOKUP. Namun, banyak orang masih tetap menggunakan VLOOKUP, pertama, karena lebih sederhana dan, kedua, karena mereka tidak sepenuhnya memahami semua manfaat menggunakan rumus INDEX MATCH di Excel. Tanpa pemahaman seperti itu, tidak ada yang mau menginvestasikan waktu mereka untuk mempelajari rumus yang lebih kompleks.sintaksis.

    Di bawah ini, saya akan menunjukkan keunggulan utama MATCH INDEX dibandingkan VLOOKUP, dan Anda memutuskan apakah ini merupakan tambahan yang layak untuk gudang Excel Anda.

    4 alasan utama untuk menggunakan INDEX MATCH alih-alih VLOOKUP

    1. Pencarian dari kanan ke kiri. Seperti yang diketahui oleh pengguna yang berpendidikan, VLOOKUP tidak dapat melihat ke kiri, artinya nilai pencarian Anda harus selalu berada di kolom paling kiri dari tabel. INDEX MATCH dapat melakukan pencarian kiri dengan mudah! Contoh berikut menunjukkannya dalam tindakan: Cara Vlookup nilai ke kiri di Excel.
    2. Menyisipkan atau menghapus kolom dengan aman. Rumus VLOOKUP bisa rusak atau memberikan hasil yang salah ketika kolom baru dihapus dari atau ditambahkan ke tabel pencarian karena sintaks VLOOKUP memerlukan penentuan nomor indeks kolom yang ingin Anda tarik datanya. Tentu saja, ketika Anda menambahkan atau menghapus kolom, nomor indeks berubah.

      Dengan INDEX MATCH, Anda menentukan rentang kolom yang dikembalikan, bukan nomor indeks. Hasilnya, Anda bebas menyisipkan dan menghapus sebanyak mungkin kolom yang Anda inginkan tanpa perlu khawatir tentang memperbarui setiap rumus terkait.

    3. Tidak ada batas untuk ukuran nilai pencarian. Saat menggunakan fungsi VLOOKUP, panjang total kriteria pencarian Anda tidak boleh melebihi 255 karakter, jika tidak, Anda akan mengalami kesalahan #VALUE! Jadi, jika dataset Anda berisi string panjang, INDEX MATCH adalah satu-satunya solusi yang berfungsi.
    4. Kecepatan pemrosesan yang lebih tinggi. Jika tabel Anda relatif kecil, hampir tidak akan ada perbedaan yang signifikan dalam kinerja Excel. Tetapi jika lembar kerja Anda berisi ratusan atau ribuan baris, dan akibatnya ratusan atau ribuan rumus, MATCH INDEX akan bekerja jauh lebih cepat daripada VLOOKUP karena Excel harus memproses hanya kolom pencarian dan pengembalian daripada seluruh larik tabel.

      Dampak VLOOKUP pada kinerja Excel mungkin sangat terlihat jika buku kerja Anda berisi rumus array yang kompleks seperti VLOOKUP dan SUM. Intinya adalah bahwa memeriksa setiap nilai dalam array memerlukan pemanggilan fungsi VLOOKUP secara terpisah. Jadi, semakin banyak nilai yang dikandung array Anda dan semakin banyak rumus array yang Anda miliki di buku kerja, semakin lambat kinerja Excel.

    Excel INDEX MATCH - contoh rumus

    Mengetahui alasan untuk mempelajari fungsi MATCH INDEX, mari kita ke bagian yang paling menarik dan melihat bagaimana Anda dapat menerapkan pengetahuan teoritis dalam praktiknya.

    Rumus INDEX MATCH untuk mencari dari kanan ke kiri

    Seperti yang telah disebutkan, VLOOKUP tidak dapat melihat di sebelah kirinya. Jadi, kecuali jika nilai pencarian Anda berada di kolom paling kiri, tidak ada kemungkinan rumus Vlookup akan memberi Anda hasil yang Anda inginkan. Fungsi INDEX MATCH di Excel lebih serbaguna dan tidak terlalu peduli di mana kolom lookup dan return berada.

    Untuk contoh ini, kita akan menambahkan kolom Rank di sebelah kiri tabel sampel kita dan mencoba mencari tahu bagaimana peringkat ibukota Rusia, Moskow, dalam hal populasi.

    Dengan nilai pencarian di G1, gunakan rumus berikut untuk mencari di C2:C10 dan mengembalikan nilai yang sesuai dari A2:A10:

    =INDEX(A2:A10,MATCH(G1,C2:C10,0))

    Tip. Jika Anda berencana menggunakan rumus INDEX MATCH Anda untuk lebih dari satu sel, pastikan untuk mengunci kedua rentang dengan referensi sel absolut (seperti $ A $ 2: $ A $ 10 dan $ C $ 2: 4C $ 10) sehingga mereka tidak akan terdistorsi saat menyalin rumus.

    INDEX MATCH MATCH untuk mencari dalam baris dan kolom

    Dalam contoh di atas, kita menggunakan INDEX MATCH sebagai pengganti VLOOKUP klasik untuk mengembalikan nilai dari rentang satu kolom yang telah ditentukan sebelumnya. Tetapi bagaimana jika Anda perlu mencari dalam beberapa baris dan kolom? Dengan kata lain, bagaimana jika Anda ingin melakukan apa yang disebut matriks atau dua arah pencarian?

    Ini mungkin terdengar rumit, tetapi rumusnya sangat mirip dengan fungsi INDEX MATCH Excel dasar, hanya dengan satu perbedaan. Coba tebak?

    Cukup, gunakan dua fungsi MATCH - satu untuk mendapatkan nomor baris dan yang lainnya untuk mendapatkan nomor kolom. Dan saya ucapkan selamat kepada Anda yang telah menebak dengan benar :)

    INDEX (larik, MATCH ( nilai vlookup , kolom untuk melihat ke atas terhadap , 0), MATCH ( nilai hlookup , barisan untuk melihat ke atas , 0))

    Dan sekarang, silakan lihat tabel di bawah ini dan mari kita buat rumus INDEX MATCH MATCH untuk menemukan populasi (dalam jutaan) di negara tertentu untuk tahun tertentu.

    Dengan negara target di G1 (nilai vlookup) dan tahun target di G2 (nilai hlookup), rumusnya berbentuk seperti ini:

    =INDEX(B2:D11, MATCH(G1,A2:A11,0), MATCH(G2,B1:D1,0))

    Bagaimana formula ini bekerja

    Kapanpun Anda perlu memahami rumus Excel yang kompleks, pecahkan menjadi bagian-bagian yang lebih kecil dan lihat apa yang dilakukan masing-masing fungsi:

    COCOKKAN (G1, A2: A11, 0) - mencari melalui A2:A11 untuk nilai di sel G1 ("China") dan mengembalikan posisinya, yaitu 2.

    COCOKKAN (G2, B1: D1, 0)) - mencari melalui B1:D1 untuk mendapatkan posisi nilai di sel G2 ("2015"), yaitu 3.

    Nomor baris dan kolom di atas pergi ke argumen yang sesuai dari fungsi INDEX:

    INDEKS(B2:D11, 2, 3)

    Hasilnya, Anda mendapatkan nilai di persimpangan baris ke-2 dan kolom ke-3 dalam rentang B2: D11, yang merupakan nilai dalam sel D3. Mudah? Yep!

    Excel INDEX MATCH untuk mencari beberapa kriteria

    Jika kamu sempat membaca tutorial VLOOKUP Excel kami, kamu mungkin sudah pernah menguji formula untuk Vlookup dengan beberapa kriteria. Namun, batasan signifikan dari pendekatan itu adalah keharusan untuk menambahkan kolom pembantu. Kabar baiknya adalah bahwa fungsi INDEX MATCH Excel dapat mencari dengan dua kriteria atau lebih juga, tanpa memodifikasi atau merestrukturisasi data sumbermu!

    Berikut rumus INDEX MATCH generik dengan beberapa kriteria:

    {=INDEX( return_range , MATCH(1, ( kriteria1 = range1 ) * ( kriteria2 = range2 ), 0))}

    Catatan. Ini adalah rumus array yang harus diselesaikan dengan Ctrl + Shift + Enter shortcut.

    Dalam tabel contoh di bawah ini, seandainya Anda ingin menemukan jumlah berdasarkan 2 kriteria, Pelanggan dan Produk .

    Rumus INDEX MATCH berikut ini bekerja dengan baik:

    =INDEX(C2:C10, MATCH(1, (F1=A2:A10) * (F2=B2:B10), 0))

    Di mana C2: C10 adalah rentang untuk mengembalikan nilai dari, F1 adalah kriteria1, A2: A10 adalah rentang untuk membandingkan dengan kriteria1, F2 adalah kriteria 2, dan B2: B10 adalah rentang untuk membandingkan dengan kriteria2.

    Ingatlah untuk memasukkan rumus dengan benar dengan menekan Ctrl + Shift + Enter, dan Excel akan secara otomatis mengapitnya dalam tanda kurung keriting seperti yang ditunjukkan pada tangkapan layar:

    Jika Anda lebih suka tidak menggunakan rumus array di lembar kerja Anda, tambahkan satu lagi fungsi INDEX ke rumus dan lengkapi dengan hit Enter biasa:

    Bagaimana rumus-rumus ini bekerja

    Rumus menggunakan pendekatan yang sama seperti fungsi INDEX MATCH dasar yang melihat melalui satu kolom. Untuk mengevaluasi beberapa kriteria, Anda membuat dua atau lebih larik nilai TRUE dan FALSE yang mewakili kecocokan dan ketidakcocokan untuk setiap kriteria individual, lalu mengalikan elemen yang sesuai dari larik-larik ini. Operasi perkalian mengubah TRUE dan FALSE menjadi 1 dan 0,masing-masing, dan menghasilkan larik di mana 1 sesuai dengan baris yang cocok dengan semua kriteria. Fungsi MATCH dengan nilai pencarian 1 menemukan "1" pertama dalam larik dan meneruskan posisinya ke INDEX, yang mengembalikan nilai dalam baris ini dari kolom yang ditentukan.

    Rumus non-larik mengandalkan kemampuan fungsi INDEX untuk menangani larik secara native. INDEX kedua dikonfigurasi dengan 0 row_num sehingga akan mengoper seluruh larik kolom ke MATCH.

    Itu adalah penjelasan tingkat tinggi dari logika rumusnya. Untuk detail lengkapnya, silakan lihat INDEX MATCH Excel dengan beberapa kriteria.

    Excel INDEX MATCH dengan AVERAGE, MAX, MIN

    Microsoft Excel memiliki fungsi khusus untuk menemukan nilai minimum, maksimum, dan rata-rata dalam suatu rentang. Tetapi bagaimana jika Anda perlu mendapatkan nilai dari sel lain yang terkait dengan nilai-nilai tersebut? Dalam kasus ini, gunakan fungsi MAX, MIN atau AVERAGE bersama dengan INDEX MATCH.

    INDEX MATCH dengan MAX

    Untuk menemukan nilai terbesar di kolom D dan mengembalikan nilai dari kolom C di baris yang sama, gunakan rumus ini:

    =INDEX(C2:C10, MATCH(MAX(D2:D10), D2:D10, 0))

    INDEX MATCH dengan MIN

    Untuk mencari nilai terkecil dalam kolom D dan menarik nilai yang terkait dari kolom C, gunakan yang ini:

    =INDEX(C2:C10, MATCH(MIN(D2:D10), D2:D10, 0))

    INDEX MATCH dengan AVERAGE

    Untuk menghitung nilai yang paling mendekati rata-rata dalam D2:D10 dan mendapatkan nilai yang sesuai dari kolom C, inilah rumus yang digunakan:

    =INDEX(C2:C10, MATCH(AVERAGE(D2:D10), D2:D10, -1 ))

    Tergantung pada bagaimana data Anda diatur, berikan 1 atau -1 ke argumen ketiga (match_type) dari fungsi MATCH:

    • Jika kolom lookup Anda (kolom D dalam kasus kita) diurutkan naik , masukkan 1. Rumus akan menghitung nilai terbesar yaitu kurang dari atau sama dengan nilai rata-rata.
    • Jika kolom pencarian Anda diurutkan turun , masukkan -1. Rumus ini akan menghitung nilai terkecil yaitu lebih besar dari atau sama dengan nilai rata-rata.
    • Jika larik pencarian Anda berisi nilai persis sama untuk rata-rata, Anda bisa memasukkan 0 untuk pencocokan persis. Tidak diperlukan penyortiran.

    Dalam contoh kita, populasi dalam kolom D diurutkan dalam urutan menurun, jadi kita menggunakan -1 untuk jenis kecocokan. Hasilnya, kita mendapatkan "Tokyo" karena populasinya (13.189.000) adalah kecocokan terdekat yang lebih besar dari rata-rata (12.269.006).

    Anda mungkin penasaran untuk mengetahui bahwa VLOOKUP dapat melakukan perhitungan seperti itu juga, tetapi sebagai rumus array: VLOOKUP dengan AVERAGE, MAX, MIN.

    Menggunakan INDEX MATCH dengan IFNA / IFERROR

    Seperti yang mungkin Anda perhatikan, jika rumus INDEX MATCH di Excel tidak dapat menemukan nilai pencarian, itu menghasilkan kesalahan # N / A. Jika Anda ingin mengganti notasi kesalahan standar dengan sesuatu yang lebih bermakna, bungkus rumus INDEX MATCH Anda dalam fungsi IFNA. Misalnya:

    =IFNA(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Tidak ada kecocokan yang ditemukan")

    Dan sekarang, jika seseorang memasukkan tabel pencarian yang tidak ada dalam rentang pencarian, rumus akan secara eksplisit menginformasikan pengguna bahwa tidak ada kecocokan yang ditemukan:

    Jika anda ingin menangkap semua error, tidak hanya #N/A, gunakan fungsi IFERROR daripada IFNA:

    =IFERROR(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Ups, ada yang salah!")

    Harap diingat bahwa dalam banyak situasi, mungkin tidak bijaksana untuk menyamarkan semua error karena mereka mengingatkan Anda tentang kemungkinan kesalahan dalam formula Anda.

    Itulah cara menggunakan INDEX dan MATCH di Excel. Semoga contoh-contoh rumus kami terbukti bermanfaat bagi Anda dan nantikan kehadiran Anda di blog kami minggu depan!

    Buku kerja latihan untuk diunduh

    Contoh INDEX MATCH Excel (file .xlsx)

    Michael Brown adalah penggemar teknologi berdedikasi dengan hasrat untuk menyederhanakan proses kompleks menggunakan perangkat lunak. Dengan pengalaman lebih dari satu dekade di industri teknologi, dia telah mengasah keahliannya di Microsoft Excel dan Outlook, serta Google Spreadsheet dan Dokumen. Blog Michael didedikasikan untuk berbagi pengetahuan dan keahliannya dengan orang lain, memberikan tip dan tutorial yang mudah diikuti untuk meningkatkan produktivitas dan efisiensi. Apakah Anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan wawasan berharga dan saran praktis untuk mendapatkan hasil maksimal dari perangkat lunak penting ini.