Mündəricat
Əgər siz Excel VBA -də çoxlu kriteriya massivi ilə filtr etmək yollarını axtarırsınızsa, onda siz doğru yerdəsiniz. Çoxsaylı kriteriyalar əsasında böyük verilənlər toplusunu süzgəcdən keçirməyi Excel-in adi funksiyasından istifadə etmək əvəzinə, VBA kodlarının köməyi ilə asanlaşdırmaq olar.
Beləliklə, əsas məqaləmizə başlayaq.
İş kitabını endirin
Birdən çox kriteriya ilə filtr.xlsm
Excel VBA-dan istifadə edərək Massivdə Çoxsaylı Kriteriyalarla Filtrləmənin 7 Yolu
Aşağıdakı məlumat dəstində tələbələrin adına və onların id-lərinə uyğun bəzi qeydlər var. Bəzi kodlardan istifadə etməklə bu verilənlər toplusunu müxtəlif kriteriyalar əsasında massiv kimi filtrləməyə çalışacağıq.
Biz burada Microsoft Excel 365 versiyasından istifadə etmişik. rahatlığınıza uyğun olaraq hər hansı digər versiyalardan istifadə edə bilərsiniz.
Metod-1: Massivdə Mətn kimi Çox Kriteriyalarla Filtr edin
Burada biz əsasında aşağıdakı verilənlər dəstini filtrləməyə çalışacağıq. Tələbə Adı Emily , Daniel və Qabriel <10 sətirlərini ehtiva edən çoxsaylı meyarlar üçün sütun> massivdə.
Addım-01 :
➤ Tərtibatçı bölməsinə keçin Nişan >> Visual Basic Seçim.
Sonra Visual Basic Redaktoru açılacaq.
➤ Daxil edin Tab >> Modul Seçiminə keçin.
Bundan sonra Modulu olacaqyaradılmışdır.
Addım-02 :
➤ Aşağıdakı kodu yazın
6198
Burada biz elan etdik filtri tətbiq edəcəyimiz diapazonda başlıq adları B3:D3 və Sahə:=2 bu filtrləmə prosesini həyata keçirəcəyimiz əsasda bu diapazonun sütun nömrəsidir.
Nəhayət, biz kriteriyaları Emily , Daniel kimi çoxsaylı tələbələrin adlarını elan etmək üçün massiv kimi təyin etdik. , və Cəbrayıl .
➤ F5 düyməsini basın.
Sonra siz tələbələrin adını və onlara uyğun İdləri və İşarələri göstərmək üçün verilənlər bazası çoxsaylı meyarlara görə filtrlənəcək. 1> Emili , Daniel və Cəbrayıl .
Ətraflı oxuyun: Excel-də Çoxsaylı Kriteriyaları Filtrləyin (4 Uyğun Yol)
Metod-2: Massivdə Çoxsaylı Kriteriyalardan istifadə edərək Filtr edin Excel VBA
Burada biz 101135 , 10 id-lər üçün aşağıdakı verilənlər dəstini süzgəcdən keçirəcəyik 1137 və 101138 bu nömrələri massivdə çoxsaylı meyar kimi istifadə etməklə.
Addımlar :
➤ Metod-1 -in Addım-01 -ni izləyin.
➤ Aşağıdakı kodu yazın
2684
Burada biz filtr tətbiq edəcəyimiz B3:D3 diapazonunda başlıq adlarını elan etdik və Sahə:=2 bu diapazonun sütun nömrəsidir ki, biz buna əsaslanırıq. bu filtrləməni edəcəkproses.
Nəhayət, biz kriteriyaları 101135 , 101137 kimi çoxsaylı tələbə id-lərini elan etmək üçün massiv kimi təyin etdik. və 101138 və biz onları sətirlər kimi təyin etmək üçün onları tərs vergüllər içərisinə qoyduq, çünki Avtomatik Filtr yalnız sətirlər massivi üçün işləyəcək.
➤ F5 düyməsini basın.
Bundan sonra siz id-si olan tələbələrin adlarını və qiymətlərini alacaqsınız. 101135 , 101137 və 101138 .
Ətraflı oxuyun: Excel-də Sütundan Massilə Unikal Dəyərlər Almaq üçün VBA (3 Kriteriya)
Metod-3: İstifadə Aralığında Çoxsaylı Kriteriyaların Ayarlanması massiv olaraq
Burada biz kriteriyaları Siyahı sütununda 101134 , 101135
Addımlar :
➤ Metod-1 -in Addım-01 -ni izləyin.
➤ Aşağıdakı kodu yazın
2120
Buraya , bizdə imtina var ID_aralığı , k kimi Variant və ID_aralığı çoxlu kriteriyaları saxlayacaq massivdir və k bu massivin aşağı limitindən yuxarı həddinə qədər dəyişən artım. Aşağı həddi və yuxarı həddi əldə etmək üçün biz müvafiq olaraq LBOUND funksiyası və UBOUND funksiyasından istifadə etdik.
FOR döngəsi konvertasiya üçün istifadə olunur. sətirlərdən başqa dəyərlərmassivdə CStr funksiyası köməyi ilə sətirlərə çevrilir. Nəhayət, biz bu massivdən Kriteriya1 kimi istifadə etdik.
➤ F5 düyməsini basın.
Daha sonra siz 101134 , 101135 və 101136 idləri olan tələbələrin adlarını və qiymətlərini alacaq. .
Ətraflı oxuyun: Excel VBA-da Çoxsaylı Kriteriyalar üzrə Fərqli Sütunları Filtrləyin
Oxşar Oxumalar
- Excel-də Unikal Dəyərləri Necə Filtr etmək (8 Asan Yol)
- Excel-də Fərdi Filtr həyata keçirin (5 Yollar)
- VBA (Makro, UDF və UserForm) ilə Massivin Ortasını Hesablayın
- Excel Filtri üçün Qısayol (3 Sürətli İstifadə) Nümunələr ilə)
Metod-4: Çox Kriteriyalı Massiv yaratmaq üçün SPLIT və JOIN funksiyalarından istifadə
Burada biz Siyahıda aşağıdakı siyahıdan istifadə edəcəyik. sütun massiv kimi və verilənlər bazasını düzgün süzgəcdən keçirmək üçün biz həmçinin SPLIT funksiyasından , JOIN funksiyasından və TRANSPOSE funksiyasından istifadə edəcəyik. VBA kodu.
Addımlar :
➤ Fol aşağı Addım-01 Metod-1 .
➤ Aşağıdakı kodu yazın
1560
Burada TRANSPOSE çevirəcək 2D massivi 1D massivində əks halda AutoFilter işləməyəcək, JOIN dəyərlərin hər birini sətirlər massivinə birləşdirəcək, və nəhayət, SPLIT giriş vermək üçün hər bir sətri parçalayacaqonları ayrı-ayrılıqda verilənlər toplusunu süzgəcdən keçirmək üçün meyar kimi göstərin.
➤ F5 düyməsini basın.
Nəhayət, adları və işarələri əldə edəcəksiniz. 101134 , 101135 və 101136 idləri olan tələbələr.
Ətraflı oxuyun: VBA-da sətiri massiləyə necə bölmək olar (3 üsul)
Metod-5 : VBA ilə Massiv üçün Döngədə Çoxsaylı Kriteriyalarla Filtr edin
Bu bölmədə biz çoxlu sayda Tələbə İd-si sütunundan asılı olaraq aşağıdakı verilənlər toplusunu filtrləyəcəyik. Siyahı sütununda sadalanan kriteriyalar.
Addımlar :
➤ Addım- 01 -dən Metod-1 .
➤ Aşağıdakı kodu yazın
1668
Burada biz k -ni Tam ədəd kimi elan etdik. , ID_aralığı(100) kimi String burada ID_aralığı 100 dəyəri saxlayacaq massivdir. Bu massiv üçün qiymətləri müəyyən etmək üçün burada biz FOR döngəsindən for k 4 -dən 6 -ə qədər sıra nömrələri kimi istifadə etdik. Siyahı sütun və F sütun adıdır.
Nəhayət, biz bu massivi Avtomatik Filtr üçün Kriteriya1 kimi istifadə etdik. .
➤ F5 düyməsini basın.
Nəhayət, siz
Ətraflı oxuyun: VBA ilə Excel-də Çoxsaylı Kriteriyaları Filtrləyin (Həm AND, həm də OR)Növlər)
Metod-6: Çoxsaylı Kriteriyalar üçün Adlandırılmış Aralığın istifadəsi
Burada biz Siyahı sütununda bəzi tələbələrin adlarını sadaladıq və buna ad verdik. Tələbə kimi diapazon. Bu adlandırılmış diapazondan istifadə edərək biz AvtoFiltr xüsusiyyəti üçün çoxsaylı kriteriyalardan ibarət massiv müəyyən edəcəyik.
Addımlar :
➤ Metod-1 -in Addım-01 -ni izləyin.
➤ Aşağıdakı kodu yazın
1719
Burada biz Tələbə_aralığı , k bir Variant kimi və adlandırılmış diapazonun 2D massivini çevirmək üçün TRANSPOSE funksiyasından istifadə etdi Tələbə 1D massivində və sonra onu Tələbə_aralığı daxilində saxladı. Daha sonra o, Avtomatik Filtr metodu üçün Kriteriya1 kimi istifadə olunur.
➤ F5 düyməsini basın.
Sonra, tələbələrin adını və onlara uyğun İdləri və İşarələri <10 göstərmək üçün çoxlu kriteriyalar üzrə süzülmüş verilənlər bazasına sahib olacaqsınız> tələbələr üçün Cefferson , Emily və Sara .
Əlaqədar Məzmun: Excel-də Massiv Transpoze etmək üçün VBA (3 Metod)
Metod-7: Massivdə Çoxsaylı Kriteriyalar Olan Cədvəl filtri
Burada adı Cədvəl1 olan və Excel VBA-dan istifadə edən aşağıdakı Cədvəl var. biz bu cədvəli Emily , Daniel və adlarına əsasən filtrləməyə çalışacağıq. Gabriel massivdə çoxsaylı meyar kimi.
Addımlar :
➤ Metod-1 -in Addım-01 -ni izləyin.
➤ Aşağıdakı kodu yazın
7551
Bura, ListObjects("Cədvəl1") cədvəli təyin etmək üçün Cədvəl1 , Sahə:=2 filtrləmə prosesinin əsası kimi bu diapazonun ikinci sütununu qurmaq üçün istifadə olunur və nəhayət, massiv müəyyən etdik. Kriteriya1 üçün birdən çox ad ehtiva edir.
➤ F5 düyməsini basın.
Nəhayət, verilənlər dəstinə sahib olacaqsınız tələbələrin adını və onlara uyğun olan İdləri və Qiymətləri tələbələr üçün göstərmək üçün çoxsaylı meyarlar üzrə süzülüb>Emili , Daniel və Cəbrayıl .
Ətraflı oxuyun: Excel VBA: Hüceyrə Dəyəri əsasında Süzgəc Cədvəli (6 Asan Metod)
Təcrübə Bölməsi
Təcrübə etmək üçün özünüz üçün Təcrübə adlı vərəqdə aşağıdakı kimi bir Təcrübə bölməsini təqdim etdik. Lütfən bunu özünüz edin.
Nəticə
Bu yazıda Excel-dən istifadə edərək massiv kimi çoxsaylı kriteriyalarla filtrasiya üsullarını əhatə etməyə çalışdıq VBA asanlıqla. Ümid edirəm ki, faydalı tapacaqsınız. Hər hansı təklif və ya sualınız varsa, şərh bölməsində paylaşın.