INDEX MATCH MATCH dalam Excel untuk carian dua dimensi

  • Berkongsi Ini
Michael Brown

Tutorial mempamerkan beberapa formula berbeza untuk melakukan carian dua dimensi dalam Excel. Lihat sahaja alternatif dan pilih kegemaran anda :)

Apabila mencari sesuatu dalam hamparan Excel anda, kebanyakan masa anda akan mencari secara menegak dalam lajur atau mendatar dalam baris. Tetapi kadangkala anda perlu melihat merentasi kedua-dua baris dan lajur. Dalam erti kata lain, anda bertujuan untuk mencari nilai di persimpangan baris dan lajur tertentu. Ini dipanggil pencarian matriks (aka pencarian 2 dimensi atau pencarian 2 hala ), dan tutorial ini menunjukkan cara melakukannya dalam 4 cara berbeza.

    Formula PADANAN INDEX Excel

    Cara paling popular untuk melakukan carian dua hala dalam Excel ialah dengan menggunakan PADANAN INDEX. Ini ialah variasi formula INDEX MATCH klasik yang anda tambahkan satu lagi fungsi MATCH untuk mendapatkan kedua-dua nombor baris dan lajur:

    INDEX ( array_data, MATCH ( vlookup_value, julat_lajur_cari, 0), PADAN ( nilai carian, julat_baris_cari, 0))

    Sebagai contoh, mari kita buat formula untuk menarik populasi haiwan tertentu dalam tahun tertentu daripada jadual di bawah. Sebagai permulaan, kami mentakrifkan semua argumen:

    • Data_array - B2:E4 (sel data, tidak termasuk pengepala baris dan lajur)
    • Vlookup_value - H1 (haiwan sasaran)
    • Julat_lajur_cari - A2:A4 (tajuk baris: nama haiwan) -A3:A4
    • Hlookup_value - H2 (tahun sasaran)
    • Julat_baris_cari - B1:E1 (tajuk lajur: tahun)

    Letakkan semua hujah dan anda akan mendapat formula ini untuk carian dua hala:

    =INDEX(B2:E4, MATCH(H1, A2:A4, 0), MATCH(H2, B1:E1, 0))

    Cara formula ini berfungsi

    Walaupun ia mungkin kelihatan sedikit kompleks pada pandangan pertama, logik formula benar-benar mudah dan mudah difahami. Fungsi INDEX mendapatkan semula nilai daripada tatasusunan data berdasarkan nombor baris dan lajur, dan dua fungsi MATCH membekalkan nombor tersebut:

    INDEX(B2:E4, row_num, column_num)

    Di sini, kami memanfaatkan keupayaan MATCH(lookup_value, lookup_array, [match_type]) untuk mengembalikan kedudukan relatif lookup_value dalam lookup_array .

    Jadi, untuk mendapatkan nombor baris, kami mencari untuk haiwan yang diminati (H1) merentas pengepala baris (A2:A4):

    MATCH(H1, A2:A4, 0)

    Untuk mendapatkan nombor lajur, kami mencari tahun sasaran (H2) merentas pengepala lajur (B1:E1):

    MATCH(H2, B1:E1, 0)

    Dalam kedua-dua kes, kami mencari padanan tepat dengan menetapkan argumen ke-3 kepada 0.

    Dalam contoh ini, MATCH pertama kembali 2 kerana nilai vlookup kami (Beruang kutub) ditemui dalam A3, iaitu sel ke-2 dalam A2:A4. MATCH kedua mengembalikan 3 kerana nilai hlookup (2000) ditemui dalam D1, iaitu sel ke-3 dalam B1:E1.

    Memandangkan perkara di atas, formula dikurangkan kepada:

    INDEX(B2:E4, 2, 3)

    Dan kembalikan nilai di persimpangan baris ke-2 dan lajur ke-3 dalam tatasusunan data B2:E4, yang merupakannilai dalam sel D3.

    Formula VLOOKUP dan MATCH untuk carian 2 hala

    Cara lain untuk melakukan carian dua dimensi dalam Excel ialah dengan menggunakan gabungan fungsi VLOOKUP dan MATCH:

    VLOOKUP( vlookup_value , table_array , MATCH( hlookup_value , lookup_row_range , 0), FALSE)

    Untuk jadual sampel kami , formula mengambil bentuk berikut:

    =VLOOKUP(H1, A2:E4, MATCH(H2, A1:E1, 0), FALSE)

    Di mana:

    • Table_array - A2:E4 (sel data termasuk pengepala baris)
    • Vlookup_value - H1 (sasaran haiwan)
    • Hlookup_value - H2 (sasaran tahun)
    • Looup_row_range - A1:E1 (tajuk lajur: tahun)

    Cara formula ini berfungsi

    Inti formula ialah fungsi VLOOKUP yang dikonfigurasikan untuk padanan tepat (argumen terakhir ditetapkan kepada FALSE), yang mencari nilai carian (H1) dalam lajur pertama tatasusunan jadual (A2:E4) dan mengembalikan nilai daripada lajur lain dalam baris yang sama. Untuk menentukan lajur mana untuk mengembalikan nilai, anda menggunakan fungsi MATCH yang juga dikonfigurasikan untuk padanan tepat (argumen terakhir ditetapkan kepada 0):

    MATCH(H2, A1:E1, 0)

    MATCH mencari nilai dalam H2 merentasi pengepala lajur (A1:E1) dan mengembalikan kedudukan relatif sel yang ditemui. Dalam kes kami, tahun sasaran (2010) ditemui dalam E1, iaitu ke-5 dalam tatasusunan carian. Jadi, nombor 5 pergi ke col_index_num argumen VLOOKUP:

    VLOOKUP(H1, A2:E4, 5, FALSE)

    VLOOKUP mengambilnya dari sana, mencaripadanan tepat untuk nilai cariannya dalam A2 dan mengembalikan nilai daripada lajur ke-5 dalam baris yang sama, iaitu sel E2.

    Nota penting! Untuk formula berfungsi dengan betul, table_array (A2:E4) VLOOKUP dan lookup_array of MATCH (A1:E1) mesti mempunyai bilangan lajur yang sama, jika tidak, nombor yang diluluskan oleh MATCH kepada col_index_num akan menjadi salah (tidak sepadan dengan kedudukan lajur dalam table_array ).

    Fungsi XLOOKUP untuk melihat dalam baris dan lajur

    Baru-baru ini Microsoft telah memperkenalkan satu lagi fungsi dalam Excel yang bertujuan untuk menggantikan semua fungsi carian sedia ada seperti VLOOKUP, HLOOKUP dan INDEX MATCH. Antara lain, XLOOKUP boleh melihat persilangan baris dan lajur tertentu:

    XLOOKUP( vlookup_value , vlookup_column_range , XLOOKUP( hlookup_value , hlookup_row_range , data_array ))

    Untuk set data sampel kami, formulanya adalah seperti berikut:

    =XLOOKUP(H1, A2:A4, XLOOKUP(H2, B1:E1, B2:E4))

    Nota. Pada masa ini XLOOKUP ialah fungsi beta, yang hanya tersedia untuk pelanggan Office 365 yang merupakan sebahagian daripada program Office Insiders.

    Cara formula ini berfungsi

    Formula menggunakan keupayaan XLOOKUP untuk mengembalikan keseluruhan baris atau lajur. Fungsi dalaman mencari tahun sasaran dalam baris pengepala dan mengembalikan semua nilai untuk tahun itu (dalam contoh ini, untuk tahun 1980). Nilai tersebut pergi ke argumen return_array bagi bahagian luarXLOOKUP:

    XLOOKUP(H1, A2:A4, {22000;25000;700}))

    Fungsi XLOOKUP luar mencari haiwan sasaran merentas pengepala lajur dan mengembalikan nilai dalam kedudukan yang sama daripada return_array.

    Formula SUMPRODUCT untuk dua -way lookup

    Fungsi SUMPRODUCT adalah seperti pisau Swiss dalam Excel – ia boleh melakukan banyak perkara di luar tujuan yang ditetapkan, terutamanya apabila ia berkaitan untuk menilai berbilang kriteria.

    Untuk mencari dua kriteria, dalam baris dan lajur, gunakan formula generik ini:

    SUMPRODUCT( vlookup_column_range = vlookup_value ) * ( hlookup_row_range = hlookup_value ), data_array )

    Untuk melakukan carian 2 hala dalam set data kami, formulanya adalah seperti berikut:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2), B2:E4)

    Sintaks di bawah juga akan berfungsi:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2) * B2:E4)

    Cara formula ini berfungsi

    Di tengah-tengah formula, kami membandingkan dua nilai carian terhadap pengepala baris dan lajur (haiwan sasaran dalam H1 dengan semua haiwan nama dalam A2:A4 dan tahun sasaran dalam H2 terhadap semua tahun dalam B1:E1):

    (A2:A4=H1) * (B1:E1=H2)

    Res ini ult dalam 2 tatasusunan nilai TRUE dan FALSE, dengan TRUE mewakili padanan:

    {FALSE;FALSE;TRUE} * {FALSE,TRUE,FALSE,FALSE}

    Operasi pendaraban memaksa nilai TRUE dan FALSE menjadi 1 dan 0 serta menghasilkan tatasusunan dua dimensi 4 lajur dan 3 baris (baris dipisahkan dengan koma bertitik dan setiap lajur data dengan koma):

    {0,0,0,0;0,0,0,0;0,1,0,0}

    Fungsi SUMPRODUCT mendarabkan elemen tatasusunan di atas dengan itemB2:E4 dalam kedudukan yang sama:

    {0,0,0,0;0,0,0,0;0,1,0,0} * {22000,13800,8500,3500;25000,23000,22000,20000;700,2000,2300,2500}

    Dan kerana mendarab dengan sifar memberikan sifar, hanya item yang sepadan dengan 1 dalam tatasusunan pertama bertahan:

    SUMPRODUCT({0,0,0,0;0,0,0,0;0,2000,0,0})

    Akhir sekali, SUMPRODUCT menambah elemen tatasusunan yang terhasil dan mengembalikan nilai 2000.

    Nota. Jika jadual anda mempunyai lebih daripada satu baris atau/dan pengepala lajur dengan nama yang sama, tatasusunan akhir akan mengandungi lebih daripada satu nombor selain daripada sifar dan semua nombor tersebut akan ditambah. Hasilnya, anda akan mendapat sejumlah nilai yang memenuhi kedua-dua kriteria. Inilah yang menjadikan formula SUMPRODUCT berbeza daripada INDEX MATCH MATCH dan VLOOKUP, yang mengembalikan padanan pertama yang ditemui.

    Pencarian matriks dengan julat bernama (Persimpangan eksplisit)

    Satu lagi cara mudah untuk dilakukan carian matriks dalam Excel adalah dengan menggunakan julat bernama. Begini caranya:

    Bahagian 1: Namakan lajur dan baris

    Cara terpantas untuk menamakan setiap baris dan setiap lajur dalam jadual anda ialah ini:

    1. Pilih keseluruhan jadual (A1:E4 dalam kes kami).
    2. Pada tab Formula , dalam kumpulan Nama Ditakrifkan , klik Buat daripada Pilihan atau tekan pintasan Ctrl + Shift + F3.
    3. Dalam kotak dialog Buat Nama daripada Pilihan , pilih Baris atas dan Kiri lajur, dan klik OK.

    Ini secara automatik mencipta nama berdasarkan pengepala baris dan lajur. Walau bagaimanapun, terdapat beberapa kaveat:

    • Jika lajur anda dan/ataupengepala baris ialah nombor atau mengandungi aksara tertentu yang tidak dibenarkan dalam nama Excel, nama untuk lajur dan baris tersebut tidak akan dibuat. Untuk melihat senarai nama yang dibuat, buka Pengurus Nama ( Ctrl + F3 ). Jika beberapa nama tiada, takrifkannya secara manual seperti yang dijelaskan dalam Cara menamakan julat dalam Excel.
    • Jika sesetengah pengepala baris atau lajur anda mengandungi ruang, ruang akan digantikan dengan garis bawah, contohnya, Polar_bear .

    Untuk jadual sampel kami, Excel mencipta nama baris secara automatik sahaja. Nama lajur perlu dibuat secara manual kerana pengepala lajur ialah nombor. Untuk mengatasinya, anda hanya boleh mendahului nombor dengan garis bawah, seperti _1990 .

    Hasilnya, kami mempunyai julat bernama berikut:

    Bahagian 2 : Buat formula carian matriks

    Untuk menarik nilai pada persimpangan baris dan lajur tertentu, hanya taip salah satu daripada formula generik berikut dalam sel kosong:

    = nama_baris column_name

    Atau sebaliknya:

    = column_name row_name

    Contohnya, untuk mendapatkan populasi ikan paus biru pada tahun 1990 , formulanya semudah:

    =Blue_whale _1990

    Jika seseorang memerlukan arahan yang lebih terperinci, langkah berikut akan memandu anda melalui proses:

    1. Dalam sel di mana anda mahu keputusan dipaparkan, taip tanda kesamaan (=).
    2. Mula menaip nama baris sasaran, katakan, Blue_whale . Selepasanda telah menaip beberapa aksara, Excel akan memaparkan semua nama sedia ada yang sepadan dengan input anda. Klik dua kali nama yang dikehendaki untuk memasukkannya dalam formula anda:
    3. Selepas nama baris, taipkan ruang , yang berfungsi sebagai operator persimpangan dalam kes ini.
    4. Masukkan nama lajur sasaran ( _1990 dalam kes kami).
    5. Sebaik sahaja kedua-dua nama baris dan lajur dimasukkan, Excel akan menyerlahkan baris dan lajur yang sepadan dalam jadual anda dan anda menekan Enter untuk melengkapkan formula:

    Pencarian matriks anda telah selesai dan tangkapan skrin di bawah menunjukkan hasilnya:

    Begitulah cara mencari dalam baris dan lajur dalam Excel. Saya berterima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu depan!

    Muat turun yang tersedia

    buku kerja contoh carian 2 dimensi

    Michael Brown ialah peminat teknologi yang berdedikasi dengan semangat untuk memudahkan proses kompleks menggunakan alat perisian. Dengan lebih sedekad pengalaman dalam industri teknologi, beliau telah mengasah kemahirannya dalam Microsoft Excel dan Outlook, serta Helaian Google dan Dokumen. Blog Michael berdedikasi untuk berkongsi pengetahuan dan kepakarannya dengan orang lain, menyediakan petua dan tutorial yang mudah diikuti untuk meningkatkan produktiviti dan kecekapan. Sama ada anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan pandangan berharga dan nasihat praktikal untuk memanfaatkan sepenuhnya alatan perisian penting ini.