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

Преглед садржаја

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

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

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

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

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

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

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

Корак 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.

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

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

Занимљиви Чланци...