Подударање индекса ВБА | Како се користи функција подударања индекса у ВБА (примери)

Поклапање индекса у ВБА

ИНДЕКС & МАТЦХ функција у ВБА комбинацији је алтернатива ВЛООКУП функцији у екцелу. У ВБА нисмо луксуз да директно користимо функцију ИНДЕКС & МАТЦХ јер ове две функције нису део уграђених функција ВБА. Међутим, и даље их можемо користити као део класе функција радног листа.

Како се користи индексно подударање у ВБА? (Корак по корак)

Овде можете преузети овај ВБА Индек Матцх Екцел предложак - ВБА Индек Матцх Екцел Екцел предложак

На пример, погледајте податке у наставку.

У горњим подацима, вредност претраживања је назив одељења и на основу назива овог одељења треба да издвојимо износ зараде.

Али проблем је у томе што је колона резултата ту у првој, а колона тражене вредности је након тога колона резултата. У овом случају, ВЛООКУП не може да дохвати износ зараде, јер ВЛООКУП ради само с десна на лево, а не с лева на десно.

У тим случајевима морамо да користимо формулу комбинације функције ВБА ИНДЕКС & МАТЦХ. Извршимо задатак проналажења износа зараде сваког одељења у ВБА коду.

Корак 1: Започните сунчану рутину.

Корак 2: Прогласите ВБА Интегер променљиву.

Шифра:

 Суб ИНДЕКС_МАТЦХ_Екампле1 () Дим к Ас Интегер Енд Суб 

Корак 3: Сада отворите Фор Нект Лооп у ВБА.

Шифра:

 Суб ИНДЕКС_МАТЦХ_Екампле1 () Дим к као целобројно за к = 2 до 5 Следеће к Крај Суб 

Корак 4: Унутар ВБА петље извршите формулу. У 5. колони треба да применимо формулу, тако да је код ЦЕЛЛС (к, 5) .Валуе =

Шифра:

 Суб ИНДЕКС_МАТЦХ_Екампле1 () Дим к као целобројно за к = 2 до 5 ћелија (к, 5) .Вредност = Следеће к Енд Суб 

Корак 5: У тој ћелији морамо да применимо формулу ВБА ИНДЕКС & МАТЦХ. Као што сам рекао, морамо да користимо ове функције као функцију радног листа у вба класи, зато отворите класу функције радног листа.

Шифра:

 Под ИНДЕКС_МАТЦХ_Екампле1 () Дим к као целобројно за к = 2 до 5 ћелија (к, 5) .Вредност = Функција радног листа. Следеће к Крај Суб 

Корак 6: Након уласка у класу функције радног листа можемо видети све доступне функције радног листа, па одаберите функцију ИНДЕКС.

Шифра:

 Под ИНДЕКС_МАТЦХ_Екампле1 () Дим к као цео број за к = 2 до 5 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Индек (Следећи к Крај Суб 

Корак 7: Док користите функцију радног листа у ВБА, морате бити потпуно сигурни у аргументе формуле. Први аргумент је низ, тј. Из које колоне нам је потребан резултат, у овом случају потребан нам је резултат од А2 до А5.

Шифра:

 Суб ИНДЕКС_МАТЦХ_Екампле1 () Дим к као цео број за к = 2 до 5 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Индек (опсег ("А2: А5"), следећи к Крај под 

Корак 8: Следи из ког броја реда треба резултат. Као што смо видели у ранијем примеру, не можемо сваки пут ручно да додамо број реда. Дакле, користите функцију МАТЦХ.

Да бисмо још једном користили функцију МАТЦХ, морамо отворити класу Функција радног листа.

Шифра:

 Под ИНДЕКС_МАТЦХ_Екампле1 () Дим к као целобројно за к = 2 до 5 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Индек (опсег ("А2: А5"), ВорксхеетФунцтион.Матцх (Следећи к Крај под) 

Корак 9: Први аргумент функције МАТЦХ је ЛООКУП вредност, овде је наша вредност претраживања имена одељења, налази се у ћелијама (2, 4).

Будући да се сваки пут када се број реда мора променити, уместо ручног броја 2. можемо да доставимо променљиву „к“. Ћелије (к, 4).

Шифра:

 Под ИНДЕКС_МАТЦХ_Екампле1 () Дим к као цео број за к = 2 до 5 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Индек (опсег ("А2: А5"), ВорксхеетФунцтион.Матцх (ћелије (к, 5). Вредност, следећа к Енд Суб 

Корак 10: Даље треба споменути опсег вредности одељења, тј. Опсег („Б2: Б5“).

Шифра:

 Под ИНДЕКС_МАТЦХ_Екампле1 () Дим к као целобројно за к = 2 до 5 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Индек (опсег ("А2: А5"), ВорксхеетФунцтион.Матцх (ћелије (к, 5). Вредност, опсег ("Б2: Б5"), 

Следеће к

Енд Суб

Корак 11: Даље ставите аргумент као 0, јер нам треба тачно подударање и затворимо заграде.

Шифра:

 Под ИНДЕКС_МАТЦХ_Екампле1 () Дим к као целобројно за к = 2 до 5 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Индек (опсег ("А2: А5"), ВорксхеетФунцтион.Матцх (ћелије (к, 4). Вредност, опсег ("Б2: Б5"), 0)) 

Следеће к

Енд Суб

У реду, завршили смо са делом кодирања. Покренимо код да бисмо добили резултат у колони 5.

Дакле, добили смо резултат.

Ову формулу можемо користити као алтернативу функцији ВЛООКУП.