Мазмұны
Егер Excel VBA бағдарламасында бірнеше шартты массивпен сүзгі жолдарын іздесеңіз, сіз дұрыс жердесіз. Көптеген критерийлер негізінде үлкен деректер жинағын сүзуді Excel бағдарламасының әдеттегі мүмкіндігін пайдаланудың орнына VBA кодтарының көмегімен жеңілдетуге болады.
Олай болса, негізгі мақаламызды бастайық.
Жұмыс кітабын жүктеп алу
Бірнеше критериймен сүзу.xlsm
Excel VBA көмегімен массивте бірнеше критерийлермен сүзудің 7 жолы
Келесі деректер жинағында бізде студенттердің атына және олардың идентификаторларына сәйкес келетін белгілердің кейбір жазбалары бар. Кейбір кодтарды пайдалану арқылы әртүрлі критерийлер негізінде бұл деректер жинағын массив ретінде сүзуге тырысамыз.
Біз мұнда Microsoft Excel 365 нұсқасын пайдаландық, сіз сізге ыңғайлы кез келген басқа нұсқаларды пайдалана алады.
1-әдіс:
массивіндегі мәтіндер ретінде бірнеше критерийлермен сүзгілеу. Мұнда біз негізінде келесі деректер жинағын сүзуге тырысамыз. Студент аты Эмили , Даниел және Габриэль <10 жолдарын қамтитын бірнеше критерийлерге арналған баған> массивте.
01-қадам :
➤ Әзірлеуші бөліміне өтіңіз >> Visual Basic Опция.
Содан кейін Visual Basic өңдегіші ашылады.
➤ Кірістіру қойындысы >> Модуль Опцияға өтіңіз.
Одан кейін Модуль боладықұрылды.
02-қадам :
➤ Келесі кодты жазыңыз
7277
Мұнда біз Біз сүзгіні қолданатын B3:D3 ауқымдағы тақырып атаулары және Өріс:=2 бұл сүзгілеу процесін орындайтын осы ауқымның баған нөмірі.
Соңында, біз критерийлерді Эмили , Даниэл сияқты бірнеше оқушылардың атын жариялауға арналған массив ретінде орнаттық. , және Жәбірейіл .
➤ F5 түймесін басыңыз.
Одан кейін сіз студенттердің аты-жөнін және олардың сәйкес Идентификаторлары және Белгілері студенттер үшін белгілерін көрсету үшін деректер жиынтығы бірнеше критерий бойынша сүзіледі. 1> Эмили , Даниел және Габриэль .
Толығырақ: Excel бағдарламасында бірнеше шартты сүзгілеу (4 қолайлы әдіс)
2-әдіс: массивте бірнеше сан критерийлерімен сүзгілеу Excel VBA
Осында біз 101135 , 10 идентификаторлары үшін келесі деректер жинағын сүзгіден өткіземіз. 1137 және 101138 осы сандарды массивте бірнеше шарт ретінде пайдалану арқылы.
Қадамдар :
➤ 1-әдіс дегі 01-қадам -ді орындаңыз.
➤ Келесі кодты жазыңыз
3587
Мұнда біз сүзгіні қолданатын B3:D3 диапазондағы тақырып атауларын жарияладық және Өріс:=2 бұл диапазонның баған нөмірі, соның негізінде біз бұл сүзгіні жасайдыпроцесс.
Соңында, біз критерийлерді 101135 , 101137 сияқты бірнеше студенттің идентификаторларын жариялауға арналған массив ретінде орнаттық. және 101138 және оларды жолдар ретінде көрсету үшін оларды төңкерілген үтірлердің ішіне қойдық, себебі Автосүзгі тек жолдар массивінде жұмыс істейді.
➤ F5 пернесін басыңыз.
Осыдан кейін сіз идентификаторы бар студенттердің аттары мен бағаларын аласыз. 101135 , 101137 және 101138 .
Толығырақ: Excel бағдарламасындағы бағаннан массивке бірегей мәндерді алу үшін VBA (3 шарт)
3-әдіс: пайдалану ауқымында бірнеше шартты орнату Массив ретінде
Мұнда біз 101134 , 101135<идентификаторлары бар Тізім бағанындағы шарттарды келтірдік. 10> және 101136 оның негізінде біз сүзу процесін орындаймыз.
Қадамдар :
➤ 1-әдіс ішіндегі 01-қадам орындаңыз.
➤ Келесі кодты жазыңыз
7676
Осында , бізде шегерім бар ID_ауқым , k Нұсқа және ID_ауқым бірнеше критерийлерді сақтайтын массив және k осы массивтің төменгі шегінен жоғарғы шегіне дейінгі өсім. Төменгі шекті және жоғарғы шегін алу үшін сәйкесінше LBOUND функциясы және UBOUND функциясы пайдаланылды.
FOR циклі түрлендіру үшін пайдаланылады. жолдардан басқа мәндермассивте CStr функциясының көмегімен жолдарға. Соңында, біз бұл массивді Критериа1 ретінде қолдандық.
➤ F5 пернесін басыңыз.
Содан кейін сіз 101134 , 101135 және 101136 идентификаторлары бар студенттердің аты-жөні мен бағаларын алады. .
Толығырақ оқу: Excel VBA бағдарламасында бірнеше критерий бойынша әртүрлі бағандарды сүзу
Ұқсас көрсеткіштер
- Excel бағдарламасында бірегей мәндерді сүзу жолы (8 оңай әдіс)
- Excel бағдарламасында реттелетін сүзгіні орындау (5) Жолдар)
- VBA (Макрос, UDF және UserForm) көмегімен массивтің орташа мәнін есептеу
- Excel сүзгісіне арналған таңбаша (3 жылдам пайдалану) Мысалдармен)
4-әдіс: Бірнеше критерийі бар массив құру үшін SPLIT және JOIN функцияларын пайдалану
Мұнда біз Тізімде келесі тізімді қолданамыз. бағанды массив ретінде және деректер жиынын дұрыс сүзу үшін біз SPLIT функциясын , JOIN функциясын және TRANSPOSE функциясын пайдаланамыз. VBA коды.
Қадамдар :
➤ Fol төмен 1-әдіс -нің қадамы.
➤ Келесі кодты жазыңыз
5178
Осында TRANSPOSE түрлендіреді 2D массив 1D массивке, әйтпесе Автосүзгі жұмыс істемейді, JOIN әрбір мәнді жолдар массивіне біріктіреді, және ақырында, SPLIT енгізуді беру үшін әрбір жолды бұзадыоларды деректер жинағын сүзгілеу шарты ретінде бөлек таңдаңыз.
➤ F5 пернесін басыңыз.
Соңында сіз атаулар мен белгілерді аласыз. 101134 , 101135 және 101136 идентификаторлары бар студенттер.
Толығырақ: VBA жүйесінде жолды массивке қалай бөлуге болады (3 әдіс)
Әдіс-5 : VBA
массивіне арналған циклде бірнеше критерийлермен сүзу Бұл бөлімде біз бірнеше деректер үшін Студент идентификаторы бағанына байланысты келесі деректер жинағын сүзгіден өткіземіз. Тізім бағанында берілген критерийлер.
Қадамдар :
➤ Қадам- 01 Әдіс-1 .
➤ Келесі кодты жазыңыз
7780
Мұнда біз k мәнін Бүтін деп жарияладық. , ID_ауқым(100) ретінде Жол мұндағы ID_ауқым - 100 мәнге дейін сақтайтын жиым. Бұл массивтің мәндерін анықтау үшін біз мұнда FOR циклін үшін k 4 ден 6 ге дейінгі жол нөмірлері ретінде қолдандық. Тізім баған және F баған атауы.
Соңында, біз бұл массивті Автосүзгі үшін 1-шарт ретінде пайдаландық. .
➤ F5 пернесін басыңыз.
Соңында идентификаторлары бар студенттердің аты мен белгілерін аласыз 101134 , 101135 және 101136 .
Толығырақ оқу: Excel бағдарламасында VBA көмегімен бірнеше шартты сүзгілеу (ЖӘНЕ де, НЕМЕСЕ де)Түрлері)
6-әдіс: Бірнеше критерийлер үшін атаулы диапазонды пайдалану
Мұнда біз Тізім бағанында кейбір оқушылардың атын атадық және оны атадық. ауқымы Студент . Осы аталған ауқымды пайдалана отырып, біз Автосүзгі мүмкіндік үшін бірнеше шартты қамтитын массивді анықтаймыз.
Қадамдар :
➤ 1-әдіс -нің 01-қадам сын орындаңыз.
➤ Келесі кодты жазыңыз
5260
Мұнда біз Студенттік_ауқым , k Нұсқа ретінде және аталған ауқымның 2D массивін түрлендіру үшін TRANSPOSE функциясын пайдаланды. Студент 1D массивке, содан кейін оны Студент_ауқымына сақтады. Содан кейін ол Автосүзгі әдісі үшін Шарт1 ретінде пайдаланылады.
➤ F5 пернесін басыңыз.
Содан кейін студенттердің атын және олардың сәйкес Идентификаторларын және Белгілерін көрсету үшін бірнеше критерийлер бойынша сүзгіленген деректер жинағы болады> студенттер үшін Джефферсон , Эмили және Сара .
Байланысты мазмұн: Excel бағдарламасындағы массивді ауыстыру үшін VBA (3 әдіс)
7-әдіс: Массивте бірнеше критерийлері бар кестені сүзу
Мұнда бізде келесі Кесте бар, оның аты Кесте1 Excel VBA біз бұл кестені Эмили , Даниэл және атаулары негізінде сүзуге тырысамыз. Габриэл массивтегі бірнеше шарт ретінде.
Қадамдар :
➤ 1-әдіс ішіндегі 01-қадам орындаңыз.
➤ Келесі кодты жазыңыз
7489
Осында, ListObjects("Кесте1") кестені анықтау үшін пайдаланылады Кесте1 , Өріс:=2 сүзгілеу процесінің негізі ретінде осы ауқымның екінші бағанын орнату үшін және соңында біз массивті анықтадық Шарт1 үшін бірнеше атаудан тұрады.
➤ F5 пернесін басыңыз.
Соңында деректер жинағы болады студенттердің атын және олардың сәйкес Идентификаторларын және Бағаларды студенттерге көрсету үшін бірнеше критерийлер бойынша сүзгіден өткен>Эмили , Даниел және Габриэль .
Толығырақ: Excel VBA: Ұяшық мәніне негізделген сүзгі кестесі (6 оңай әдіс)
Тәжірибе бөлімі
Тәжірибе жасау үшін өз бетіңізше біз Тәжірибе деп аталатын парақта төмендегідей Тәжірибе бөлімін бердік. Мұны өзіңіз жасаңыз.
Қорытынды
Бұл мақалада біз Excel <1 көмегімен массив ретінде бірнеше критерийлерді сүзу жолдарын қарастыруға тырыстық>VBA оңай. Сізге пайдалы болады деп үміттенемін. Егер сізде қандай да бір ұсыныстарыңыз немесе сұрақтарыңыз болса, оларды түсініктеме бөлімінде бөлісіңіз.