ВБА ИНДЕКС ПОДРЖАВАЊЕ засновано на више критеријума у ​​Екцел-у (3 метода)

  • Деле Ово
Hugh West

Када имамо велику количину података, понекад је тешко издвојити било који одређени податак из скупа података. Заједно са Екцеловим функцијама ИНДЕКС и МАТЦХ могу преузети било коју врсту података чак и у великом скупу података. Примена ВБА је најефикаснији, најбржи и најбезбеднији метод за покретање било које операције у Екцел-у. У овом чланку ћемо вам показати 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 различите методе о томе како да изведете ИНДЕКС МАТЦХ засновано на више критеријума у Екцел-у са ВБА макроом . Надам се да вам је овај чланак био од велике користи. Слободно постављајте сва питања у вези са темом.

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.