Excel-də Çoxsaylı Kriteriyalar əsasında VBA INDEX MATCH (3 Metod)

  • Bunu Paylaş
Hugh West

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 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 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, İ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 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 İmtahan Qiymətlərini keçəcəyik və funksiya bizə Ad həmin tələbənin.

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 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) 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 İş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 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 ID müvafiq olaraq Finn 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 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 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.

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.