VLOOKUP функциясын жақсарту

Мазмұны

Парашютті қалай дұрыс жинау керек?

Пайда. 2-шығарылым, түзетілген.

Бізде келесі тапсырыстар кестесі бар делік:

VLOOKUP функциясын жақсарту

Біз, мысалы, Ивановтың үшінші бұйрығының сомасы қанша болғанын немесе Петровтың екінші мәмілесін қашан орындағанын білуіміз керек. Кірістірілген VLOOKUP функциясы тек кестедегі фамилияны бірінші рет іздей алады және бізге көмектеспейді. «10256 тапсырысының басшысы кім болды?» деген сияқты сұрақтар. да жауапсыз қалады, tk. кірістірілген VLOOKUP іздеудің сол жағындағы бағандардан мәндерді қайтара алмайды.

Бұл екі есептің екеуі де бірден шешіледі – біріншіні ғана емес, жалпы жағдайда N-ші ретті іздейтін өз функциямызды жазайық. Сонымен қатар, ол кез келген бағандарда іздеу және нәтижелерді шығару мүмкіндігіне ие болады. Оны VLOOKUP2 деп атаймыз. 

Visual Basic өңдегішін ALT+F11 пернелер тіркесімін басу немесе мәзірден таңдау арқылы ашыңыз Сервис – Макро – Visual Basic редакторы (Құралдар — Макро — Visual Basic редакторы), жаңа модульді енгізіңіз (мәзір Кірістіру – модуль) және осы функцияның мәтінін сол жерге көшіріңіз:

VLOOKUP2 функциясы(Кесте нұсқа ретінде, іздеу бағанының саны ұзын, іздеу мәні нұсқа ретінде, _ N ұзын, нәтиже бағанының саны ұзын) Dim i ұзын, iCount қаншалықты ұзын Таңдалған іс түрі(кесте) регистр "ауқымы" үшін i = 1 үшін кесте.жолдар .Санау Егер Table.Cells(i, SearchColumnNum) = SearchValue Содан кейін iCount = iCount + 1 End Егер iCount = N болса, VLOOKUP2 = Table.Cells(i, ResultColumnNum) Аяқтау үшін шығу Келесі болса i "Variant()" жағдайы i үшін = 1 UBound(кесте) үшін егер Кесте(i, SearchColumnNum) = SearchValue Содан кейін iCount = iCount + 1 Егер iCount = N болса, VLOOKUP2 = Кесте(i, НәтижеColumnNum) Аяқтау үшін шығу Егер Келесі i Аяқтау Аяқтау функциясын таңдаңыз  

Visual Basic өңдегішін жауып, Excel бағдарламасына оралыңыз.

Енді бітті Кірістіру – Функция (Кірістіру — Функция) санатында Пайдаланушы анықтаған (Пайдаланушы анықтаған) VLOOKUP2 функциясын тауып, оны пайдалана аласыз. Функция синтаксисі келесідей:

=VLOOKUP2(кесте; біз іздейтін_баған_саны; іздеу_мәні; N; алынған_мәннен_баған_саны)

Енді стандартты функцияның шектеулері бізге кедергі емес:

VLOOKUP функциясын жақсарту

PS Функцияны жабық кітаптардан іздей алатындай жақсартқаны үшін The_Prist-ке ерекше рахмет.

  • VLOOKUP функциясы арқылы бір кестеден екінші кестеге деректерді табу және ауыстыру
  • INDEX және MATCH функцияларын қолданып, «СОЛҒА ТҮЗІЛІКТІ КӨРСЕТУ».

 

пікір қалдыру