Mündəricat
Böyük miqdarda məlumatımız olduqda, verilənlər bazasından hər hansı konkret məlumatı çıxarmaq bəzən çətin olur. Excel-in INDEX və MATCH funksiyaları ilə birlikdə hətta nəhəng verilənlər bazasında istənilən növ məlumatı əldə edə bilər. VBA tətbiqi Excel-də istənilən əməliyyatı yerinə yetirmək üçün ən effektiv, ən sürətli və ən təhlükəsiz üsuldur. Bu yazıda biz sizə Excel-də VBA makrosu ilə INDEX MATCH -in çoxsaylı kriteriyalara əsaslanaraq yerinə yetirilməsi ilə bağlı 3 müxtəlif üsul göstərəcəyik.
Endirin İş dəftəri
Pulsuz təcrübə Excel iş kitabını buradan yükləyə bilərsiniz.
VBA İNDEKSİ MATCH Çoxlu Kriteriyalar.xlsm Əsasında
Excel-də Çoxsaylı Kriteriyalara əsaslanan VBA INDEX MATCH ilə 3 Metod
Aşağıdakı bölmələrdə biz sizə Bir sıra üçün çoxsaylı meyarlara əsaslanaraq INDEX MATCH-i necə yerinə yetirəcəyinizi göstərəcəyik , xüsusi seçim üçün və cədvəl üçün VBA ilə Excel-də.
Yuxarıda bu məqalənin izləyəcəyi məlumat dəstimiz var. Datasetdə hər bir tələbənin Tələbə Adı , Tələbə ID-si, və İmtahan Qiymətləri var. Biz digər iki sütundan şərtlər əsasında bir sütunda yerləşən müəyyən nəticə çıxaracağıq.
Meyar – 1: Excel-də Çox (İki) Ölçülü Axtarış üçün INDEX MATCH ilə VBA-nı yerləşdirin
Aşağıdakı şəkli nəzərdən keçirin. Biz xüsusi tələbə adını “ Edge” Celldə saxladıqG4 ; və Nəticə -ni axtaracağımız İmtahan Qiymətləri sütunu G5 xanasında saxlanılır. Biz İmtahan Qiymətləri sütununda axtarış aparacağıq və “ Edge” -nin G6 xanasında əldə etdiyi Qiymətləri saxlayacağıq.
Axtarış addımları VBA ilə Excel-də INDEX və MATCH ilə iki ölçülü massiv ilə nəticələnir aşağıda verilmişdir.
Addımlar:
- Əvvəlcə klaviaturanızda Alt + F11 düymələrini basın və ya bura keçin. nişanı Developer -> Visual Basic Redaktoru açmaq üçün Visual Basic .
- Sonra, açılan kod pəncərəsində, menyu çubuğunda Daxil et -> Modul .
- Sonra aşağıdakı kodu kopyalayın və koda yapışdırın pəncərə.
6350
Kodunuz indi işə salınmağa hazırdır.
- İndi, ekranda F5 düyməsini basın. klaviatura və ya menyu çubuğundan seçin Çalış -> Sub/UserForm -u işə salın. Siz həmçinin makronu işə salmaq üçün alt menyu çubuğundakı kiçik Run icon üzərinə klikləyə bilərsiniz.
Kod icra edildikdən sonra, Nəticəni görmək üçün aşağıdakı gif-ə baxın.
Nəticədə, “ Edge” -də əldə etdiyi İşarələr imtahan, 67 , G7 xanasında əldə edilir.
VBA Kodu İzahatı
2835
İş vərəqinin dəyişəninin müəyyən edilməsi.
8718
İş vərəqinin adını saxlayın. Vərəqimizin adı “İki Ölçü”dür, siz təqdim etməlisinizelektron cədvəlinizə uyğun ad.
8940
Bu kod parçası axtarış diapazonu kimi C5:D14 diapazonunu seçir. Sonra G4 xanasında B5:B14 aralığında saxlanılan uyğunluğu axtarın və G5 xanasında diapazonunda saxlanılan uyğunluğu axtarın. C4:D4 və nəticəni G6 xanasına ötürün.
Ətraflı oxuyun: Tarix Aralığı üçün Çoxsaylı Kriteriyalarla INDEX MATCH-dən Necə İstifadə Edilir
Meyarlar – 2: İstifadəçi tərəfindən müəyyən edilmiş funksiya (UDF) ilə İNDEX üzrə MATCH Dəyərini tapmaq üçün makro tətbiq edin
Siz verilənlər dəstindən uyğun dəyərlər çıxara bilərsiniz. istifadəçi tərəfindən müəyyən edilmiş funksiya (UDF) . Aşağıdakı şəkildən, edəcəyimiz şey, müəyyən bir tələbənin Tələbə ID və İmtahan Qiymətlərini keçəcəyik və funksiya bizə Ad
Gəlin VBA ilə Tələbə Adı “Finn” üçün buna necə nail olacağımıza baxaq.
Addımlar:
- Əvvəlcə göstərildiyi kimi, Developer nişanından Visual Basic Redaktoru açın və Kod pəncərəsinə Modul daxil edin.
- Sonra kod pəncərəsində aşağıdakı kodu kopyalayın və yapışdırın .
3609
- Bu kodu işlətməyin , saxla .
- İndi maraqlandığınız iş vərəqinə qayıdın. Nəticəni saxlamaq istədiyiniz hər hansı xananı seçin . Bizim vəziyyətimizdə bu, F5 xanasıdır.
- Həmin xanaya UDF yazın.kodunda yeni yaratmışlar ( MatchByIndex ) və funksiyanın mötərizələrində xüsusi tələbənin Tələbə ID və İmtahan Qiymətlərini keçin.
Kimsə biz onun ID (105) və Marks (84) -dən “ Finn” adını çıxarmağa çalışırıq, buna görə də bizim vəziyyətimiz üçün düstur,<3 olur> =MatchByIndex(105,84)
- Sonra Enter düyməsini basın.
Aşağıdakı şəklə baxın.
F5 xanasında biz “ Finn” adını uğurla əldə etdik sadəcə ID və İşarələri VBA kodunda yaratdığımız funksiya daxilində keçirərək.
VBA kodunun izahı
1651
Yeni funksiyanın yaradılması və onun daxilində dəyişənlərin ötürülməsi. Siz funksiyaya istənilən ad təyin edə bilərsiniz.
4824
Sətrimiz 4-cü sətirdən başlayır. Siz verilənlər bazanızın başladığı sıra nömrəsini təqdim etməlisiniz.
3590
Dəyişənlərin müəyyən edilməsi.
1528
İlk olaraq işləmək üçün iş vərəqini müəyyənləşdirin. Vərəqimizin adı “UDF”dir, siz öz cədvəlinizə uyğun adı göstərməlisiniz. Sonra C:D diapazonunda müəyyən etdiyimiz birinci cərgədən axırıncı sıraya qədər axtarışa başlayın.
6538
Birinci cərgədən sonuncu cərgəyə qədər təkrarlamağa başlayın. Funksiya daxilində ötürəcəyimiz ilk dəyər C sütununun içərisinə düşərsə və funksiyanın içinə keçəcəyimiz ikinci qiymət D sütununa düşərsə, o zaman geri qayıdacaq. the B sütunundan uyğun gəlir. Əks halda, funksiyadan çıxın, bütün ifadələri bitirin və növbəti sətirə keçin.
2473
İcra zamanı əvvəlki şərt yerinə yetirilməzsə, o zaman “Məlumat tapılmadı” mesajı qaytarılacaq və kod funksiyanı tərk edəcək.
Ətraflı oxuyun: Excel-də Qismən Mətn üçün Çoxsaylı Meyarlarla INDEX-MATCH (2 üsul)
Meyarlar – 3: Excel-də Çox Məlumatlı Cədvəldən MATCH Dəyərini qaytarmaq üçün VBA tətbiq edin
Bu bölmədə biz cədvəldən indekslər üzrə uyğunlaşdırılmış dəyəri necə qaytarmağı öyrənəcəyik. VBA Excel-də MsgBox -də.
Gəlin bizim cədvəldə göstərilən cədvəldən İşarələri necə çıxaracağımıza baxaq. kodun içərisində Ad və ID təqdim etməklə müəyyən bir tələbənin verilənlər toplusunu ( T able Name: TableMatch ). Bizim vəziyyətimiz üçün Ad və ID müvafiq olaraq Finn və 105 olacaq.
Addımlar :
- İlk olaraq, Developer nişanından Visual Basic Redaktoru açın və Daxil edin Modulu kod pəncərəsində.
- Sonra, aşağıdakı kodu kopyalayın və kod pəncərəsinə yapışdırın .
5805
Kodunuz indi işə hazırdır.
- Daha sonra bu kodu İşlə edin və nəticədə nə baş verdiyini görmək üçün aşağıdakı şəklə baxın.
Yuxarıdakı şəkildən gördüyünüz kimi, burada Microsoft Excel pop-Sizə kod daxilində təqdim etdiyimiz İD: 105 və Ad: Finn -dən İşarələr: 84 -ni göstərən mesaj qutusu.
VBA kodunun izahı
2896
Dəyişənlərin müəyyən edilməsi.
7323
Dəyişənlərin daxilində vərəq adının və cədvəl adının təyin edilməsi.
6300
Saxlanması axtarış dəyərləri və axtarış sütunları.
6605
Bu kod parçası alt yazının əvvəlindən sonuna qədər skan edir və əgər axtarış sütunlarında müəyyən edilmiş ID və Adın uyğunluğunu tapırsa, onda nəticəni saxlayın və bütün ifadələri bağlayın. Həmçinin, iterasiyadan çıxın və kodun növbəti hissəsinə keçin.
6321
Nəticəni MsgBox-a atır.
Ətraflı oxuyun: Axtarın və Qayıdın Excel-də Bir Hüceyrədə Birləşdirilmiş Çoxsaylı Dəyərlər
Nəticə
Nəticə üçün bu məqalə sizə INDEX MATCH əsasında 3 fərqli metodu göstərdi. Excel-də VBA makrosu ilə çoxlu kriteriyalara . Ümid edirəm bu məqalə sizin üçün çox faydalı oldu. Mövzu ilə bağlı istənilən sualı verməkdən çekinmeyin.