Excel VBA: Massivdə birdən çox kriteriya ilə süzgəcdən necə keçmək olar (7 yol)

  • Bunu Paylaş
Hugh West

Ə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 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 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 İşarələri göstərmək üçün verilənlər bazası çoxsaylı meyarlara görə filtrlənəcək. 1> Emili , Daniel 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 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. 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 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 101136 bunun əsasında filtrləmə prosesimizi edəcəyik.

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 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ı 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 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 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 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 101134 , 101135 101136 .

Ə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 İş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 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 Qiymətləri tələbələr üçün göstərmək üçün çoxsaylı meyarlar üzrə süzülüb>Emili , Daniel 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.

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.