Meningkatkan fungsi VLOOKUP

Contents [show]

Bagaimana cara membungkus payung terjun dengan betul?

Faedah. Edisi 2, disemak.

Katakan kita mempunyai jadual pesanan berikut:

Meningkatkan fungsi VLOOKUP

Kita perlu tahu, sebagai contoh, berapakah jumlah pesanan ketiga Ivanov atau apabila Petrov melaksanakan perjanjian keduanya. Fungsi VLOOKUP terbina dalam hanya boleh mencari kejadian pertama nama akhir dalam jadual dan tidak akan membantu kami. Soalan seperti "Siapa pengurus pesanan nombor 10256?" juga akan tetap tidak dijawab, tk. VLOOKUP terbina dalam tidak dapat mengembalikan nilai dari lajur di sebelah kiri carian.

Kedua-dua masalah ini diselesaikan dalam satu kejadian – mari kita tulis fungsi kita sendiri yang akan melihat bukan sahaja untuk yang pertama, tetapi, dalam kes umum, untuk kejadian ke-N. Selain itu, ia akan dapat mencari dan menghasilkan hasil dalam mana-mana lajur. Mari kita panggilnya, katakan, VLOOKUP2. 

Buka Editor Visual Basic dengan menekan ALT+F11 atau dengan memilih daripada menu Perkhidmatan – Makro – Editor Asas Visual (Alat — Makro — Editor Asas Visual), masukkan modul baharu (menu Sisipan – Modul) dan salin teks fungsi ini di sana:

Fungsi VLOOKUP2(Jadual Sebagai Varian, CariColumnNum Sepanjang, SearchValue Sebagai Varian, _ N Selagi, ResultColumnNum Sepanjang) Malapkan i Selagi, iCount Selagi Pilih Jenis KesNama(Jadual) Kes "Julat" Untuk i = 1 Ke Jadual.Baris .Count If Table.Cells(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i Case "Variant()" For i = 1 Ke UBound(Jadual) Jika Jadual(i, SearchColumnNum) = SearchValue Kemudian iCount = iCount + 1 Jika iCount = N Kemudian VLOOKUP2 = Jadual(i, ResultColumnNum) Keluar Untuk Tamat Jika Seterusnya i Tamat Pilih Fungsi Tamat  

Tutup Editor Visual Basic dan kembali ke Excel.

Sekarang melalui Sisipkan – Fungsi (Sisipkan — Fungsi) dalam kategori Pengguna Ditentukan (Ditentukan Pengguna) anda boleh mencari fungsi VLOOKUP2 kami dan menggunakannya. Sintaks fungsi adalah seperti berikut:

=VLOOKUP2(jadual; bilangan_lajur_tempat_kita cari; nilai_cari; N; bilangan_lajur_dari_untuk_mendapat_nilai)

Sekarang batasan fungsi standard tidak menjadi penghalang kepada kami:

Meningkatkan fungsi VLOOKUP

PS Terima kasih khas kepada The_Prist kerana menambah baik fungsi supaya ia boleh mencari dalam buku tertutup.

  • Mencari dan menggantikan data dari satu jadual ke jadual lain menggunakan fungsi VLOOKUP
  • "VLOOKUP kiri" menggunakan fungsi INDEX dan MATCH

 

Sila tinggalkan balasan anda