Perlawanan Indeks VBA - Cara Menggunakan Fungsi Pencocokan Indeks di VBA (Contoh)

Perlawanan Indeks di VBA

Fungsi INDEX & MATCH dalam kombinasi VBA adalah alternatif kepada fungsi VLOOKUP di excel. Di VBA, kami tidak mempunyai kemewahan menggunakan fungsi INDEX & MATCH secara langsung kerana kedua fungsi ini bukan sebahagian daripada fungsi terbina dalam VBA. Walau bagaimanapun, kami masih boleh menggunakannya sebagai sebahagian daripada kelas fungsi lembaran kerja.

Bagaimana Menggunakan Padanan Indeks di VBA? (Langkah demi langkah)

Contohnya, lihat data di bawah.

Dalam data di atas, nilai carian adalah nama Jabatan, dan berdasarkan nama jabatan ini, kita perlu mengekstrak jumlah gaji.

Tetapi masalahnya di sini adalah lajur hasil ada di lajur pertama, dan lajur nilai carian selepas itu lajur hasil. Dalam kes ini, VLOOKUP tidak dapat mengambil jumlah gaji kerana VLOOKUP hanya berfungsi dari kanan ke kiri, bukan dari kiri ke kanan.

Dalam kes ini, kita perlu menggunakan formula kombinasi fungsi VBA INDEX & MATCH. Mari kita laksanakan tugas mencari jumlah gaji setiap jabatan dalam kod VBA.

Langkah 1: Mulakan rutin matahari.

Langkah 2: Menyatakan pemboleh ubah VBA Integer.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Sub End Integer

Langkah 3: Sekarang buka Untuk Gelung Seterusnya di VBA.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 Hingga 5 Seterusnya k Akhir Sub

Langkah 4: Di dalam gelung VBA, jalankan formula. Pada lajur ke- 5 , kita perlu menerapkan formula, jadi kodnya adalah CELLS (k, 5). Nilai =

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 hingga 5 Sel (k, 5). Nilai = Selanjutnya Akhir Akhir Sub

Langkah 5: Di sel itu, kita perlu menerapkan formula VBA INDEX & MATCH. Seperti yang saya katakan, kita perlu menggunakan fungsi ini sebagai Fungsi Lembaran Kerja di kelas VBA, jadi buka kelas fungsi lembaran kerja.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 Hingga 5 Sel (k, 5). Nilai = Fungsi Lembaran Kerja. Sub Akhir Akhir

Langkah 6: Setelah memasuki kelas fungsi lembaran kerja, kita dapat melihat semua fungsi lembaran kerja yang tersedia, jadi pilih fungsi INDEX.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 Hingga 5 Sel (k, 5). Nilai = Lembaran KerjaFungsi.Indeks (k Selanjutnya Akhir Sub

Langkah 7: Semasa menggunakan fungsi lembaran kerja di VBA, anda harus benar-benar yakin dengan argumen formula. Argumen pertama adalah array iaitu, dari lajur mana kita memerlukan hasilnya. Dalam kes ini, kita memerlukan hasilnya dari A2 hingga A5.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 hingga 5 Sel (k, 5). Nilai = Lembaran KerjaFungsi.Index (Julat ("A2: A5"), Sub Akhir Akhir seterusnya

Langkah 8: Selanjutnya adalah dari nombor baris mana kita memerlukan hasilnya. Seperti yang telah kita lihat pada contoh sebelumnya, kita tidak dapat memberikan nombor baris secara manual setiap kali. Oleh itu, gunakan fungsi MATCH.

Untuk menggunakan fungsi MATCH sekali lagi, kita perlu membuka kelas Fungsi Lembaran Kerja.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 hingga 5 Sel (k, 5). Nilai = Lembar KerjaFungsi.Index (Julat ("A2: A5"), Lembaran KerjaFungsi.Match (Next k Akhir Sub

Langkah 9: MATCH berfungsi argumen pertama adalah nilai LOOKUP; di sini, nilai carian kami adalah nama jabatan; ia ada di dalam sel (2, 4).

Oleh kerana setiap kali nombor baris harus berubah, kita dapat membekalkan pemboleh ubah "k" sebagai ganti nombor baris manual 2. Sel (k, 4)

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 hingga 5 Sel (k, 5). Nilai = Lembaran KerjaFungsi.Index (Julat ("A2: A5"), Lembaran KerjaFungsi.Match (Sel (k, 5). Nilai, Seterusnya k Akhir Sub

Langkah 10: Seterusnya, kita perlu menyebut julat nilai jabatan iaitu, Range (“B2: B5”).

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 hingga 5 Sel (k, 5). Nilai = Lembaran KerjaFungsi.Index (Julat ("A2: A5"), Lembaran KerjaFungsi.Match (Sel (k, 5). Nilai, Julat ("B2: B5"),

Seterusnya k

Sub Akhir

Langkah 11: Seterusnya, letakkan argumen sebagai 0 kerana kita memerlukan padanan tepat dan tutup tanda kurung.

Kod:

Sub INDEX_MATCH_Contoh1 () Dim k Sebagai Integer Untuk k = 2 hingga 5 Sel (k, 5). Nilai = Lembaran KerjaFungsi.Index (Julat ("A2: A5"), Lembaran KerjaFungsi.Match (Sel (k, 4). Nilai, Julat ("B2: B5"), 0))

Seterusnya k

Sub Akhir

Ok, kita selesai dengan bahagian pengkodan. Mari kita jalankan kod untuk mendapatkan hasilnya di lajur 5.

Jadi, kami mendapat hasilnya.

Kita boleh menggunakan formula ini sebagai alternatif fungsi VLOOKUP.

Artikel menarik...