Excel бағдарламасындағы бірнеше критерийлерге негізделген VBA INDEX MATCH (3 әдіс)

  • Мұны Бөлісіңіз
Hugh West

Деректердің үлкен көлемі болған кезде, кейде деректер жиынынан кез келген нақты деректерді шығару қиынға соғады. Excel бағдарламасының INDEX және MATCH функцияларымен бірге, тіпті үлкен деректер жиынында кез келген деректер түрін шығарып алуға болады. VBA енгізу Excel бағдарламасындағы кез келген операцияны орындаудың ең тиімді, жылдам және қауіпсіз әдісі болып табылады. Бұл мақалада біз Excel бағдарламасында VBA макрос көмегімен INDEX MATCH бірнеше критерийге негізделген INDEX MATCH орындау жолының 3 түрлі әдісін көрсетеміз.

Жүктеп алу Жұмыс кітабы

Тегін тәжірибе Excel жұмыс кітабын осы жерден жүктеп алуға болады.

VBA INDEX MATCH, Multiple Criteria.xlsm негізіндегі

Excel бағдарламасындағы бірнеше критерийлерге негізделген VBA INDEX MATCH бар 3 әдіс

Келесі бөлімдерде біз сізге диапазон үшін бірнеше критерий негізінде INDEX MATCH орындау жолын көрсетеміз , нақты таңдау үшін және кесте үшін VBA бар Excel бағдарламасында.

Жоғарыда бізде осы мақалада жазылатын деректер жиынтығы бар. Деректер жиынындағы әрбір студенттің Студент аты , Студенттік идентификаторы, және Емтихан бағалары бар. Біз басқа екі бағандағы шарттар негізінде бір бағандағы белгілі нәтижені шығарып аламыз.

Шарттар – 1: Excel бағдарламасында бірнеше (екі) өлшемді іздеу үшін INDEX MATCH арқылы VBA ендіру

Келесі суретті қарастырыңыз. Біз ұяшықта белгілі бір студенттің атын « Edge» сақтадықG4 ; және Нәтиже , Емтихан бағалары іздейтін баған G5 ұяшығында сақталады. Біз Емтихан бағалары бағанында іздейміз және G6 ұяшығында « Шет» алған Белгілерді сақтаймыз.

Іздеу қадамдары VBA бар Excel бағдарламасында INDEX және MATCH бар екі өлшемді массив береді төменде берілген.

Қадамдар:

  • Бастапқыда пернетақтада Alt + F11 пернелерін басыңыз немесе келесіге өтіңіз қойындысы Әзірлеуші ​​-> Visual Basic Visual Basic өңдегішін ашу үшін.

  • Келесі қалқымалы код терезесінде, мәзір жолағында Кірістіру -> Модуль .

  • Одан кейін келесі кодты көшіріңіз және оны кодқа қойыңыз терезе.
9085

Сіздің кодыңыз енді іске қосуға дайын.

  • Енді компьютердегі F5 пернесін басыңыз. пернетақта немесе мәзір жолағынан Іске қосу -> Sub/UserForm іске қосыңыз. Сондай-ақ макросты іске қосу үшін ішкі мәзір жолағындағы шағын Іске қосу белгішесін басуға болады.

Код орындалғаннан кейін, Нәтижені көру үшін төмендегі gif-ті қараңыз.

Нәтижесінде, « Edge» ішіне алған Белгілер емтихан, 67 , G7 ұяшығында шығарылады.

VBA кодының түсіндірмесі

7465

Жұмыс парағының айнымалы мәнін анықтау.

8882

Жұмыс парағының атын сақтаңыз. Біздің парақтың атауы - «Екі өлшем», сіз көрсетуіңіз керекэлектрондық кестеге сәйкес атау.

9604

Бұл код бөлігі іздеу ауқымы ретінде C5:D14 ауқымын таңдайды. Содан кейін G4 ұяшығында B5:B14 ауқымында сақталған сәйкестікті іздеңіз және G5 ұяшығында ауқымында сақталған сәйкестікті іздеңіз. C4:D4 және нәтижені G6 ұяшығына жіберіңіз.

Толығырақ оқу: Күндер ауқымы үшін бірнеше критерийлері бар INDEX SATCH пайдалану жолы

Шарттар – 2: Пайдаланушы анықтайтын функциясы (UDF) бар INDEX бойынша сәйкестік мәнін табу үшін макросты қолданыңыз

Сәйкес мәндерді деректер жиынынан шығаруға болады. пайдаланушы анықтайтын функция (UDF) . Келесі суреттен біз белгілі бір студенттің Студенттік куәлігі және Емтихан бағалары тапсырамыз және функция бізге Аты< сол студенттің.

Келіңіз, VBA бар Студент аты “Финн” үшін бұған қалай жетуге болатынын көрейік.

Қадамдар:

  • Бұрын көрсетілгендей, Әзірлеуші қойындысынан Visual Basic өңдегішін ашыңыз және Код терезесіне Модуль енгізіңіз.
  • Содан кейін код терезесінде келесі кодты көшіріңіз және қою .
8736

  • Бұл кодты іске қоспаңыз , сақтаңыз оны.
  • Енді қызықты жұмыс парағына оралыңыз. Нәтижені сақтағыңыз келетін кез келген ұяшықты таңдаңыз. Біздің жағдайда бұл F5 ұяшығы.
  • Ол ұяшыққа UDF жазыңыз.кодта жаңа ғана жасадыңыз ( MatchByIndex ) және Студенттік идентификаторды және функция жақшасының ішіндегі нақты студенттің емтихан бағаларын тапсырыңыз.

Сәйкесінше біз оның ID (105) және белгілерінен (84) « Фин» атын шығаруға тырысамыз, сондықтан біздің жағдайымыз үшін формула <3 болады> =MatchByIndex(105,84)

  • Одан кейін Enter пернесін басыңыз.

Келесі суретке қараңыз.

F5 ұяшығынан біз “ Финн” атауын сәтті шығарып алдық жай ғана оның ID және Белгілерін VBA кодында жасаған функцияның ішіне беру арқылы.

VBA кодының түсіндірмесі

4611

Жаңа функция құру және оның ішіндегі айнымалы мәндерді беру. Функцияға кез келген атауды анықтауға болады.

1472

Біздің жолымыз 4-жол нөмірінен басталады. Деректер жиыныңыз басталатын жол нөмірін беруіңіз керек.

2153

Айнымалы мәндерді анықтау.

6472

Біріншіден, жұмыс істейтін жұмыс парағын анықтаңыз. Біздің парақтың атауы – «UDF», электрондық кестеге сәйкес атауды беруіңіз керек. Содан кейін біз анықтаған бірінші жолдан соңғы жолға дейін C:D ауқымында іздеуді бастаңыз.

4287

Бірінші жолдан соңғы жолға дейін қайталауды бастаңыз. Функцияның ішінде бірінші өтетін мән C бағанының ішіне түссе және функцияның ішіне өтетін екінші мән D бағанының ішіне түссе, онда ол қайтарылады. the B бағанынан сәйкестендіріңіз. Әйтпесе, функциядан шығып, барлық операторларды аяқтаңыз және келесі жолға өтіңіз.

7082

Орындау кезінде алдыңғы шарт орындалмаса, «Деректер табылмады» хабары қайтарылады және код функцияны қалдырады.

Толығырақ: Excel бағдарламасындағы ішінара мәтінге арналған бірнеше критерийлері бар INDEX-SATCH (2 жол)

Шарттар – 3: Excel бағдарламасындағы бірнеше деректері бар кестеден SATCH мәнін қайтару үшін VBA енгізу

Бұл бөлімде біз кестеден индекстер бойынша сәйкес мәнді қайтаруды үйренеміз. VBA Excel бағдарламасындағы MsgBox .

Біздің кестеде көрсетілген кестеден Белгілерді шығару жолын көрейік. код ішіндегі Аты және Идентификатор беру арқылы белгілі бір студенттің деректер жинағы ( T мүмкіндік атауы: TableMatch ). Біздің жағдайда Аты және ID сәйкесінше Фин және 105 болады.

Қадамдар :

  • Біріншіден, Әзірлеуші қойындысынан Visual Basic редакторын ашыңыз және Кірістіру Модуль код терезесінде.
  • Содан кейін келесі кодты көшіріп және код терезесіне қойыңыз .
7541

Кодыңыз енді іске қосуға дайын.

  • Кейінірек осы кодты іске қосыңыз және нәтижесінде не болғанын көру үшін келесі суретке қараңыз.

Жоғарыдағы суреттен көріп отырғаныңыздай, Microsoft Excel қалқымалыСізге код ішінде берілген Идентификатор: 105 және Аты: Finn ішінен Белгілер: 84 көрсетілген хабар терезесі.

VBA кодының түсіндірмесі

1556

Айнымалы мәндерді анықтау.

8337

Айнымалылар ішіндегі парақ атын және кесте атын орнату.

8767

Сақтау іздеу мәндері мен іздеу бағандары.

5503

Бұл код бөлігі басынан аяғына дейін сканерлейді және іздеу бағандарында анықталған идентификатор мен Атаудың сәйкестігін тапса, онда нәтижені сақтаңыз және барлық мәлімдемелерді жабыңыз. Сондай-ақ, итерациядан шығып, кодтың келесі бөлігіне өтіңіз.

5141

Нәтижені MsgBox ішіне шығарады.

Толығырақ: Іздеу және қайтару Excel бағдарламасындағы бір ұяшыққа біріктірілген бірнеше мәндер

Қорытынды

Қорытындылау үшін бұл мақала INDEX MATCH негізіндегі орындаудың 3 түрлі әдісін көрсетті. VBA макросы бар Excel бағдарламасында бірнеше критерийлер бойынша. Бұл мақала сізге өте пайдалы болды деп үміттенемін. Тақырыпқа қатысты кез келген сұрақтарды қоюға болады.

Хью Уэст – салада 10 жылдан астам тәжірибесі бар жоғары тәжірибелі Excel тренері және талдаушысы. «Бухгалтерлік есеп және қаржы» мамандығы бойынша бакалавр дәрежесі және іскерлік әкімшілендіру магистрі дәрежесі бар. Хью оқытуға құмар және ұстануға және түсінуге оңай бірегей оқыту әдісін әзірледі. Оның Excel бағдарламасындағы сараптамалық білімі бүкіл әлем бойынша мыңдаған студенттер мен мамандарға біліктіліктерін арттыруға және мансаптық жетістіктерге жетуге көмектесті. Блогы арқылы Хью өз білімін әлеммен бөліседі, жеке адамдар мен бизнеске толық әлеуетін ашуға көмектесу үшін тегін Excel оқулықтары мен онлайн тренингтерін ұсынады.