Побољшање функције ВЛООКУП

Садржај

Како правилно спаковати падобран?

Бенефит. Издање 2, ревидирано.

Рецимо да имамо следећу табелу налога:

Побољшање функције ВЛООКУП

Морамо да знамо, на пример, колики је био износ трећег налога Иванова или када је Петров извршио свој други посао. Уграђена функција ВЛООКУП може да тражи само прво појављивање презимена у табели и неће нам помоћи. Питања попут „Ко је био руководилац налога број 10256?“ такође ће остати без одговора, тк. уграђени ВЛООКУП не може да врати вредности из колона лево од колоне за претрагу.

Оба ова проблема се решавају једним потезом – хајде да напишемо сопствену функцију која ће тражити не само прву, већ, у општем случају, и Н-ту појаву. Штавише, моћи ће да тражи и производи резултате у било којој колони. Назовимо то, рецимо, ВЛООКУП2. 

Отворите Висуал Басиц Едитор притиском на АЛТ+Ф11 или избором из менија Услуга – Макро – Висуал Басиц Едитор (Алатке — Макро — Висуал Басиц Едитор), убаците нови модул (мени Инсерт – Модул) и копирајте текст ове функције тамо:

Функција ВЛООКУП2(Табела као варијанта, СеарцхЦолумнНум као дуга, СеарцхВалуе као варијанта, _ Н Ас Лонг, РесултЦолумнум Ас Лонг) Дим и Ас Лонг, иЦоунт Ас Лонг Изаберите Цасе ТипеНаме(Табела) Цасе "Ранге" Фор и = 1 То Табле.Ровс .Цоунт Иф Табле.Целлс(и, СеарцхЦолумнНум) = СеарцхВалуе Тада иЦоунт = иЦоунт + 1 Енд Ако је иЦоунт = Н Онда ВЛООКУП2 = Табле.Целлс(и, РесултЦолумнНум) Излаз за Крај Ако Следеће и Случај "Вариант()" За и = 1 За УБоунд(Табле) Ако је Табела(и, СеарцхЦолумнНум) = СеарцхВалуе Тада иЦоунт = иЦоунт + 1 Ако је иЦоунт = Н Онда ВЛООКУП2 = Табле(и, РесултЦолумнНум) Изађи за Крај Ако Следећи и Крај Изаберите функцију Крај  

Затворите Висуал Басиц Едитор и вратите се у Екцел.

Сада кроз Инсерт – Функција (Инсерт — Функција) у категорији Кориснички дефинисано (кориснички дефинисано) можете пронаћи нашу ВЛООКУП2 функцију и користити је. Синтакса функције је следећа:

=ВЛООКУП2(табела; број_колоне_где_тражимо; тражена_вредност; Н; број_колоне_од_до_добијене_вредности)

Сада нам ограничења стандардне функције нису препрека:

Побољшање функције ВЛООКУП

PS Посебно хвала Тхе_Прист-у на побољшању функције тако да може да претражује у затвореним књигама.

  • Проналажење и замена података из једне табеле у другу помоћу функције ВЛООКУП
  • „Лефт ВЛООКУП“ користећи функције ИНДЕКС и МАТЦХ

 

Ostavite komentar