Mundarija
Agar bizda katta hajmdagi ma'lumotlar mavjud bo'lsa, ba'zida ma'lumotlar to'plamidan biron bir aniq ma'lumotni olish qiyin bo'ladi. Excelning INDEX va MATCH funktsiyalari bilan birgalikda, hatto katta ma'lumotlar to'plamida ham istalgan turdagi ma'lumotlarni olish mumkin. VBA ni amalga oshirish Excelda har qanday operatsiyani bajarishning eng samarali, eng tez va xavfsiz usuli hisoblanadi. Ushbu maqolada Excelda VBA makrosi bilan INDEX MATCH ni bir nechta mezonlarga asoslangan holda bajarishning 3 xil usulini ko'rsatamiz.
Yuklab olish Ishchi kitob
Bepul amaliyot Excel ish kitobini bu yerdan yuklab olishingiz mumkin.
VBA INDEX MATCH Asoslangan Multiple Criteria.xlsm
Excelda bir nechta mezonlarga asoslangan VBA INDEX MATCH bilan 3 usul
Keyingi bo'limlarda biz sizga diapazon uchun bir nechta mezonlarga asoslangan INDEX MATCHni qanday bajarishni ko'rsatamiz , aniq tanlov uchun va jadval uchun VBA bilan Excelda.
Yuqorida bizda ushbu maqola davom etadigan ma'lumotlar to'plami mavjud. Bizda ma'lumotlar to'plamidagi har bir talabaning Talaba ismi , Talaba ID, va imtihon baholari mavjud. Biz boshqa ikkita ustundan shartlar asosida bir ustunda joylashgan ma'lum natijani chiqaramiz.
Mezon - 1: Excelda bir nechta (ikki) o'lchovli qidirish uchun VBA-ni INDEX MATCH bilan joylashtirish
Quyidagi rasmni ko'rib chiqing. Biz ma'lum bir talabaning ismini " Edge" Uyachada saqladikG4 ; va Natija ni qidiradigan ustun, Imtihon baholari G5 uyasida saqlanadi. Biz Imtihon baholari ustunida qidiramiz va “ Edge” G6 katakchasida olgan Ballar ni saqlaymiz.
Qidirish bosqichlari natijasida VBA bilan Excelda INDEX va MATCH bilan ikki oʻlchovli massiv hosil boʻladi. quyida berilgan.
Qadamlar:
- Avvalida klaviaturada Alt + F11 tugmalarini bosing yoki ga o'ting yorlig'i Dasturchi -> Visual Basic muharriri ni ochish uchun Visual Basic .
- Keyingi, qalqib chiquvchi kod oynasida, menyu satrida Qo'shish -> Modul .
- Keyin, quyidagi kodni nusxalang va uni kodga qo'ying oyna.
7964
Kodingiz endi ishga tushirishga tayyor.
- Endi, kompyuteringizda F5 tugmasini bosing. klaviatura yoki menyu panelidan Ishga tushirish -> Sub/UserForm ni ishga tushiring. Shuningdek, makrosni ishga tushirish uchun pastki menyu satridagi kichik Run belgisini bosishingiz mumkin.
Kod bajarilgandan so'ng, Natijani ko'rish uchun quyidagi gif-ga qarang.
Natijada, “ Edge” da olgan Belgilar imtihon, 67 , G7 uyasida olinadi.
VBA kod tushuntirishi
2969
Ishchi varaqning o'zgaruvchisini aniqlash.
6637
Ishchi varaq nomini saqlang. Bizning varaqning nomi "Ikki o'lchovli", siz taqdim etishingiz kerakelektron jadvalingizga muvofiq nom.
8274
Ushbu kod qismi C5:D14 diapazonini qidirish diapazoni sifatida tanlaydi. Keyin G4 katakchasida B5:B14 oraliqda saqlangan moslikni qidiring va G5 katakchasida saqlangan moslikni oralig'ida qidiring. C4:D4 va natijani G6 katakka o'tkazing.
Batafsil o'qing: Sana oralig'i uchun bir nechta mezon bilan INDEX MATCHdan qanday foydalanish
Mezon – 2: Foydalanuvchi tomonidan aniqlangan funksiya (UDF) bilan INDEX boʻyicha MATCH qiymatini topish uchun makroni qoʻllang
Siz maʼlumotlar toʻplamidan mos qiymatlarni ajratib olishingiz mumkin. foydalanuvchi tomonidan belgilangan funksiya (UDF) . Quyidagi rasmdan biz nima qilmoqchimiz, biz ma'lum bir talabaning Talaba ID va imtihon baholarini o'tkazamiz va funktsiya bizga Ism
Keling, VBA bilan Talaba ismi “Finn” uchun bunga qanday erishish mumkinligini koʻrib chiqamiz.
Qadamlar:
- Avval ko'rsatilganidek, Tuzuvchi yorlig'idan Visual Basic Editor va -ni oching. Kod oynasiga Module kiriting.
- Keyin, kod oynasida quyidagi kodni nusxalang va qo'ying .
7934
- Ushbu kodni ishlatmang , saqlang .
- Endi qiziqtirgan ish varag'iga qayting. Natijani saqlamoqchi bo'lgan istalgan katakchani tanlang . Bizning holatda, bu F5 katakchasi .
- Usha katakka UDF yozing.endigina kodda yaratdik ( MatchByIndex ) va talaba ID va imtihon baholarini funksiya qavslari ichidagi aniq talabadan o'ting.
As biz uning ID (105) va Marks (84) dan " Finn" nomini chiqarishga harakat qilmoqdamiz, shuning uchun bizning holatimizda formula <3 bo'ladi> =MatchByIndex(105,84)
- Keyin Enter tugmasini bosing.
Quyidagi rasmga qarang.
F5 katakchasida biz “ Finn” nomini muvaffaqiyatli topdik oddiygina ID va Marks -ni biz VBA kodida yaratgan funktsiyaga o'tkazish orqali.
VBA kodini tushuntirish
6358
Yangi funksiya yaratish va uning ichidagi o'zgaruvchilarni uzatish. Funksiyaga istalgan nomni belgilashingiz mumkin.
5274
Bizning qatorimiz 4-qatordan boshlanadi. Maʼlumotlar toʻplamidan boshlanadigan qator raqamini koʻrsatishingiz kerak.
4372
Oʻzgaruvchilarni aniqlash.
3176
Birinchidan, ishlash uchun ishchi varaqni aniqlang. Bizning varaqning nomi "UDF", siz o'zingizning elektron jadvalingizga muvofiq nom berishingiz kerak. Keyin biz belgilagan birinchi qatordan oxirgi qatorgacha C:D diapazonida qidirishni boshlang.
2517
Birinchi qatordan oxirgi qatorgacha takrorlashni boshlang. Agar funktsiya ichida biz o'tkazadigan birinchi qiymat C ustuniga tushsa va funksiya ichiga o'tkazadigan ikkinchi qiymat D ustuniga tushsa, u qaytib keladi. the B ustunidan mos. Aks holda, funktsiyadan chiqing, barcha bayonotlarni tugating va keyingi qatorga o'ting.
9983
Agar bajarilayotganda oldingi shart bajarilmasa, "Ma'lumotlar topilmadi" xabari qaytariladi va kod funksiyani tark etadi.
Batafsil o'qing: Excelda qisman matn uchun bir nechta mezonlar bilan INDEX-MATCH (2 usul)
Mezon – 3: Excelda bir nechta ma’lumotlarga ega jadvaldan MATCH qiymatini qaytarish uchun VBA ni qo‘llash
Ushbu bo‘limda biz jadvaldagi indekslar bo‘yicha mos qiymatni qanday qaytarishni o‘rganamiz. VBA Excel-dagi MsgBox -da.
Keling, bizning jadvalda ko'rsatilgan jadvaldan Belgilar ni qanday chiqarishni ko'rib chiqamiz. Kod ichidagi Ism va ID ni taqdim etish orqali ma'lum bir talabaning ma'lumotlar to'plami ( T mumkin nomi: TableMatch ). Bizning holatimizda Ism va ID mos ravishda Finn va 105 bo'ladi.
Qadamlar :
- Birinchidan, Dasturchi yorlig'idan Visual Basic Editor -ni oching va Qo'shish Moduli kod oynasida.
- Keyin, quyidagi kodni nusxalang va kod oynasiga joylashtiring.
2751
Kodingiz endi ishga tayyor.
- Keyinroq bu kodni Ishga tushirish va natijada nima boʻlganini bilish uchun quyidagi rasmga qarang.
Yuqoridagi rasmdan ko'rinib turibdiki, Microsoft Excel pop-Yuqoridagi xabarlar oynasi sizga Identifikator: 105 va Ism: Finn ning Belgilari: 84 ni ko'rsatadi.
VBA kodining tushuntirishi
8806
O'zgaruvchilarni aniqlash.
1584
Varaq nomini va o'zgaruvchilar ichidagi jadval nomini o'rnatish.
3633
Saqlash Qidiruv qiymatlari va qidirish ustunlari.
1623
Ushbu kod qismi pastki yozuvning boshidan oxirigacha skanerdan o'tkazadi va agar qidiruv ustunlarida belgilangan ID va Ism mosligini topsa, u holda natijani saqlang va barcha bayonotlarni yoping. Shuningdek, iteratsiyadan chiqing va kodning keyingi qismiga o'ting.
7669
Natijani xabarlar qutisiga tashlaydi.
Batafsil o'qing: Qidirish va qaytarish Excelda bir katakka birlashtirilgan bir nechta qiymatlar
Xulosa
Xulosa qilish uchun ushbu maqola sizga INDEX MATCH asosidagi 3 xil usulni ko'rsatdi. bir nechta mezon bo'yicha Excelda VBA makros bilan. Umid qilamanki, ushbu maqola siz uchun juda foydali bo'ldi. Mavzu bo'yicha har qanday savollarni berishingiz mumkin.