Екцел формула: Бржи ВЛООКУП са 2 ВЛООКУПС -

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

Генеричка формула

=IF(VLOOKUP(id,data,1,TRUE)=id, VLOOKUP(id,data,col,TRUE), NA())

Резиме

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

Напомене:

  1. Ако имате мањи скуп података, овај приступ је претеран. Користите га само са великим скуповима података само када се брзина заиста рачуна.
  2. Морате сортирати податке према вредности претраживања да би овај трик успео.
  3. Овај пример користи именоване опсеге. Ако не желите да користите именоване опсеге, користите апсолутне референце.

ВЛООКУП са тачним подударањем је спор

Када користите ВЛООКУП у „режиму тачног подударања“ на великом скупу података, то заиста може успорити време израчунавања на радном листу. Са, рецимо, 50.000 записа или 100.000 записа, израчунавање може потрајати неколико минута.

Тачно подударање поставља се давањем ФАЛСЕ или нуле као четврти аргумент:

=VLOOKUP(val,data,col,FALSE)

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

Приближни ВЛООКУП је врло брз

У режиму приближног подударања, ВЛООКУП је изузетно брз. Да бисте користили ВЛООКУП са приближним подударањем, морате сортирати податке према првој колони (колона за претраживање), а затим навести ТРУЕ за четврти аргумент:

=VLOOKUP(val,data,col,TRUE)

(ВЛООКУП је подразумевано тачно, што је застрашујуће подразумевано, али то је већ друга прича).

Са веома великим скуповима података, прелазак на приближни ВЛООКУП може значити драматично повећање брзине.

Па, нема смисла, зар не? Само сортирајте податке, користите приближно подударање и готови сте.

Не тако брзо (хех).

Проблем са ВЛООКУП-ом у режиму „приближног подударања“ је следећи: ВЛООКУП неће приказати грешку ако вредност претраживања не постоји. Још горе, резултат може изгледати сасвим нормално, иако је потпуно погрешан (види примере). Није нешто што желите да објасните свом шефу.

Решење је да се ВЛООКУП користи два пута, оба пута у приближном режиму подударања:

=IF(VLOOKUP(id,data,1,TRUE)=id, VLOOKUP(id,data,col,TRUE), NA())

Објашњење

Прва инстанца ВЛООКУП-а једноставно тражи вредност претраживања ( ид у овом примеру):

=IF(VLOOKUP(id,data,1,TRUE)=id

и враћа ТРУЕ само када се пронађе вредност претраживања. У том случају,
формула поново покреће ВЛООКУП у режиму приближног подударања да би преузела вредност из те табеле:

VLOOKUP(id,data,col,TRUE)

Не постоји опасност од пропуштања вредности претраживања, јер је први део формуле већ проверен да ли је тамо.

Ако вредност претраживања није пронађена, извршава се део „вредност ако ФАЛСЕ“ функције ИФ и можете вратити било коју вредност коју желите. У овом примеру користимо НА (), враћамо грешку # Н / А, али такође можете да вратите поруку попут „Недостаје“ или „Није пронађено“.

Запамтите: податке морате сортирати према вредности претраживања да би овај трик успео.

Добри линкови

Зашто су 2 ВЛООКУПС-а боља од 1 ВЛООКУП-а (Цхарлес Виллиамс)

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