Преглед садржаја
Када имамо велику количину података, понекад је тешко издвојити било који одређени податак из скупа података. Заједно са Екцеловим функцијама ИНДЕКС и МАТЦХ могу преузети било коју врсту података чак и у великом скупу података. Примена ВБА је најефикаснији, најбржи и најбезбеднији метод за покретање било које операције у Екцел-у. У овом чланку ћемо вам показати 3 различите методе о томе како да изведете ИНДЕКС МАТЦХ на основу више критеријума у Екцел-у помоћу ВБА макроа .
Преузми Радна свеска
Овде можете преузети бесплатну Екцел радну свеску за вежбање.
Подударање ВБА ИНДЕКСА засновано на више критеријума.клсм
3 Методе са ВБА ИНДЕКС МАТЦХ на основу више критеријума у Екцел-у
У следећим одељцима ћемо вам показати како да изведете ИНДЕКС МАТЦХ на основу више критеријума за опсег , за одређени избор и за табелу у Екцел-у са ВБА .
Изнад имамо скуп података који ће овај чланак пратити. Имамо Име ученика , ИД студента, и Оцене испита сваког ученика у скупу података. Извући ћемо одређени резултат који се налази у једној колони на основу услова из друге две колоне.
Критеријуми – 1: Угради ВБА са ИНДЕКС МАТЦХ за вишеструко (дводимензионално тражење) у Екцел-у
Размотрите следећу слику. Сачували смо име одређеног ученика „ Едге” у ћелијуГ4 ; а колона у којој ћемо претраживати Резултат , Оцене испита , чува се у ћелији Г5 . Претражићемо у колони Оцене испита и сачувати Оцене које је „ Едге” добио у ћелију Г6 .
Кораци за тражење резултирају дводимензионалним низом са ИНДЕКС и МАТЦХ у Екцел-у са ВБА су дати испод.
Кораци:
- На почетку притисните Алт + Ф11 на тастатури или идите на картица Програмер -&гт; Висуал Басиц да отворите Висуал Басиц Едитор .
- Следеће, у искачућем прозору кода, из трака менија, кликните на Уметни -&гт; Модул .
- Затим, копирајте следећи код и налепите га у код прозор.
8136
Ваш код је сада спреман за покретање.
- Сада притисните Ф5 на свом тастатуру или на траци менија изаберите Покрени -&гт; Покрените Суб/УсерФорм . Такође можете само да кликнете на малу икону Покрени на траци подменија да бисте покренули макро.
Након извршења кода, погледајте гиф испод да видите резултат.
Као резултат, Ознаке које је „ Едге“ добио у испит, 67 , се преузима у ћелији Г7 .
Објашњење ВБА кода
3404
Дефинисање променљиве радног листа.
2902
Сачувајте име радног листа. Назив нашег листа је „Дво Димензија“, требало би да наведетеназив према вашој табели.
1776
Овај део кода бира опсег Ц5:Д14 као опсег претраживања. Затим потражите подударање које је ускладиштено у ћелији Г4 у опсегу Б5:Б14 и потражите подударање које је сачувано у ћелији Г5 у опсегу Ц4:Д4 и проследите резултат у ћелију Г6 .
Прочитајте више: Како користити ИНДЕКС МАТЦХ са више критеријума за распон датума
Критеријуми – 2: Примените макро да бисте пронашли МАТЦХ Валуе би ИНДЕКС са кориснички дефинисаном функцијом (УДФ)
Можете издвојити одговарајуће вредности из скупа података помоћу кориснички дефинисана функција (УДФ) . Са следеће слике, оно што ћемо урадити је да ћемо проследити ИД ученика и Оцене испита одређеног студента и функција ће нам дати Име тог конкретног ученика.
Да видимо како то постићи за Име ученика „Финн“ са ВБА .
Кораци:
- Као што је приказано раније, отворите Висуал Басиц Едитор са картице Девелопер и Уметните а Модуле у прозор кода.
- Затим, у прозору кода, копирајте следећи код и налепите га.
4535
- Не покрени овај код, сачувај га.
- Сада, вратите се на радни лист који вас занима. Изаберите било коју ћелију у коју желите да сачувате резултат. У нашем случају, то је ћелија Ф5 .
- У ту ћелију напишите УДФ којусу управо креирали у коду ( МатцхБиИндек ) и проследили ИД ученика и испитне оцене одређеног студента унутар заграда функције.
Као покушавамо да издвојимо име „ Финн” из његовог ИД (105) и Ознака (84) , тако да за наш случај формула постаје,
=MatchByIndex(105,84)
- Затим притисните Ентер .
Погледајте следећу слику.
У ћелији Ф5 , успешно смо преузели име „ Финн“ једноставним прослеђивањем његових ИД и Маркс унутар функције коју смо креирали у коду ВБА .
Објашњење ВБА кода
9629
Креирање нове функције и прослеђивање променљивих унутар ње. Можете дефинисати било које име функције.
5550
Наш ред почиње од реда број 4. Морате да наведете број реда од којег почиње ваш скуп података.
5139
Дефинисање променљивих.
8336
Прво, дефинишите радни лист са којим ћете радити. Назив нашег листа је „УДФ“, требало би да наведете назив према вашој табели. Затим почните да тражите у опсегу Ц:Д од првог реда који смо дефинисали до последњег реда.
7791
Почните да понављате од првог до последњег реда. Ако прва вредност коју ћемо проследити унутар функције падне у колону Ц и ако друга вредност коју ћемо проследити унутар функције падне у колону Д , онда ће се вратити тхеподударање из колоне Б . У супротном, изађите из функције, завршите све наредбе и идите на следећи ред.
3576
Ако се претходни услов не испуни током извршавања, биће враћена порука „Подаци нису пронађени“ и код ће напустити функцију.
Прочитајте више: ИНДЕКС-ПОДРЖАВАЊЕ са више критеријума за делимичан текст у Екцел-у (2 начина)
Критеријуми – 3: Имплементирајте ВБА да бисте вратили МАТЦХ вредност из табеле са више података у Екцел-у
У овом одељку ћемо научити како да вратимо подударну вредност према индексима из табеле у МсгБок у ВБА Екцел-у.
Хајде да видимо како да издвојимо Маркс из табеле приказане у нашем скуп података ( Т могуће име: ТаблеМатцх ) одређеног ученика пружањем Наме и ИД унутар кода. У нашем случају, Наме и ИД ће бити Финн и 105 респективно.
Кораци :
- Прво, отворите Висуал Басиц Едитор са картице Девелопер и Инсерт а Модуле у прозору кода.
- Затим, копирајте следећи код и налепите га у прозор кода.
1180
Ваш код је сада спреман за покретање.
- Касније, Покрените овај код и погледајте следећу слику да видите шта се десило као резултат.
Као што видите са горње слике, постоји Мицрософт Екцел поп-горе оквир са поруком који вам показује Ознаке: 84 од ИД: 105 и Име: Финн које смо навели унутар кода.
Објашњење ВБА кода
8566
Дефинисање променљивих.
8439
Подешавање назива листа и имена табеле унутар променљивих.
8019
Складиштење вредности за тражење и колоне за претрагу за претрагу.
8171
Овај део кода скенира од почетка до краја индекса и ако пронађе подударање дефинисаног ИД-а и имена у колонама за претрагу, онда сачувати резултат и затворити све исказе. Такође, изађите из итерације и идите на следећи део кода.
3229
Убацује резултат у МсгБок.
Прочитајте више: Потражи и врати Више вредности спојених у једну ћелију у Екцел-у
Закључак
Да закључимо, овај чланак вам је показао 3 различите методе о томе како да изведете ИНДЕКС МАТЦХ засновано на више критеријума у Екцел-у са ВБА макроом . Надам се да вам је овај чланак био од велике користи. Слободно постављајте сва питања у вези са темом.