Подобрување на функцијата VLOOKUP

содржина

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

Придобивка. Издание 2, ревидирано.

Да речеме дека ја имаме следната табела со нарачки:

Подобрување на функцијата VLOOKUP

Треба да знаеме, на пример, колкава била сумата на третата наредба на Иванов или кога Петров ја извршил втората зделка. Вградената функција VLOOKUP може да го бара само првото појавување на презимето во табелата и нема да ни помогне. Прашања како „Кој беше управител на нарачката број 10256? исто така ќе остане неодговорено, tk. вградениот VLOOKUP не може да враќа вредности од колоните лево од бараната.

И двата проблема се решаваат со еден удар – ајде да ја напишеме нашата сопствена функција која ќе ја бара не само првата, туку, во општ случај, N-тата појава. Покрај тоа, ќе може да пребарува и произведува резултати во која било колона. Да го наречеме, да речеме, VLOOKUP2. 

Отворете го уредувачот на Visual Basic со притискање на ALT+F11 или со избирање од менито Услуга – Макро – Уредувач на Visual Basic (Алатки - макро - уредник на Visual Basic), вметнете нов модул (мени Вметни – Модул) и копирајте го текстот на оваа функција таму:

Функција VLOOKUP2 (Табела како варијанта, SearchColumnNum долго, SearchValue as variant, _ N додека, ResultColumnNum толку долго) Затемнување i додека, iCount додека Избери тип на случај Име (табела) Случај „Опсег“ за i = 1 до табела.Редови .Count If Table.Cells(i, SearchColumnNum) = SearchValue Потоа iCount = iCount + 1 End If If iCount = N Потоа VLOOKUP2 = Table.Cells(i, ResultColumnNum) Излезете за крај ако следно i Случај „Variant()“ За i = 1 До UBound(Табела) Ако Табела (i, SearchColumnNum) = SearchValue Потоа iCount = iCount + 1 Ако iCount = N Потоа VLOOKUP2 = Табела (i, ResultColumnNum) Излезете за крај ако следно i крај Изберете крајна функција  

Затворете го уредувачот на Visual Basic и вратете се на Excel.

Сега преку Вметни – Функција (Вметни - Функција) во категоријата Дефинирано од корисник (Кориснички дефинирано) можете да ја најдете нашата функција VLOOKUP2 и да ја користите. Синтаксата на функцијата е како што следува:

=VLOOKUP2 (табела; број_на_колона_каде_побараме;_пробана_вредност; N; број_на_колона_од_до_добие_вредност)

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

Подобрување на функцијата VLOOKUP

PS Посебна благодарност до The_Prist за подобрување на функцијата за да може да пребарува во затворени книги.

  • Пронаоѓање и замена на податоци од една табела во друга со помош на функцијата VLOOKUP
  • „Налево VLOOKUP“ користејќи ги функциите INDEX и MATCH

 

Оставете Одговор