Екцел ИФЕРРОР &амп; ВЛООКУП - трап #Н/А и друге грешке

  • Деле Ово
Michael Brown

У овом водичу ћемо гледати како да заједно користимо функције ИФЕРРОР и ВЛООКУП да бисмо ухватили и обрадили различите грешке. Поред тога, научићете како да радите секвенцијалне влоокупе у Екцел-у тако што ћете унети више функција ИФЕРРОР једну у другу.

Екцел ВЛООКУП и ИФЕРРОР – ове две функције може бити прилично тешко разумети одвојено, а камоли када се комбинују. У овом чланку ћете пронаћи неколико примера који се лако прате који се баве уобичајеном употребом и јасно илуструју логику формула.

Ако немате много искуства са функцијама ИФЕРРОР и ВЛООКУП, можда је добра идеја да прво прегледате њихове основе тако што ћете пратити горње везе.

    ИФЕРРОР ВЛООКУП формула за руковање #Н/А и другим грешкама

    Када Екцел Влоокуп не успе да пронађе вредност претраживања, даје грешку #Н/А, попут ове:

    У зависности од ваших пословних потреба, можда ћете желети да прикријете грешку сопственим текстом, нула , или празна ћелија.

    Пример 1. ИФЕРРОР са ВЛООКУП формулом за замену грешака сопственим текстом

    Ако желите да замените стандардну нотацију грешке својим прилагођеним текстом, умотајте ВЛООКУП формулу у ИФЕРРОР и унесите било који текст који желите у 2. аргумент ( валуе_иф_еррор ), на пример „Није пронађено“:

    ИФЕРРОР(ВЛООКУП(),“Није пронађено")

    Са вредношћу претраживања у Б2 у главној табели и опсегом претраживања А2:Б4 у тражењутабеле, формула поприма следећи облик:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")

    Снимак екрана испод показује нашу Екцел формулу ИФЕРРОР ВЛООКУП у акцији:

    Тхе резултат изгледа много разумљивији и далеко мање застрашујући, зар не?

    На сличан начин, можете користити ИНДЕКС МАТЦХ заједно са ИФЕРРОР:

    =IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")

    ИФЕРРОР Формула ИНДЕКС МАТЦХ је посебно корисна када желите да извучете вредности из колоне која се налази лево од колоне за тражење (лево тражење) и вратите сопствени текст када ништа није пронађено.

    Пример 2. ИФЕРРОР са ВЛООКУП да бисте вратили празно или 0 ако ништа није пронађено

    Ако не желите да прикажете ништа када вредност тражења није пронађена, нека ИФЕРРОР прикаже празан стринг (""):

    ИФЕРРОР(ВЛООКУП(),"")

    У нашем примеру, формула иде на следећи начин:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")

    Као што видите, не враћа ништа када тражена вредност није на листи за претрагу.

    Ако желите да замените грешку са нултом вредношћу , ставите 0 у последњој а ргумент:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)

    Упозорење! Екцел функција ИФЕРРОР хвата све врсте грешака, не само #Н/А. Да ли је то добро или лоше? Све зависи од вашег циља. Ако желите да маскирате све могуће грешке, ИФЕРРОР Влоокуп је прави начин. Али то може бити неразумна техника у многим ситуацијама.

    На пример, ако сте креирали именовани опсег за податке своје табеле и погрешно написали то име уВлоокуп формула, ИФЕРРОР ће ухватити #НАМЕ? грешку и замените је са „Није пронађено“ или било којим другим текстом који доставите. Као резултат тога, можда никада нећете знати да ваша формула даје погрешне резултате осим ако сами не уочите грешку у куцању. У том случају, разумнији приступ би био заробљавање само #Н/А грешака. За ово користите формулу ИФНА Влоокуп у програму Екцел 2013 и новијим, ИФ ИСНА ВЛООКУП у свим верзијама Екцел-а.

    Суштина је: будите веома пажљиви када бирате пратиоца за своју ВЛООКУП формулу :)

    Угнездите ИФЕРРОР унутар ВЛООКУП да бисте увек пронашли нешто

    Замислите следећу ситуацију: тражите одређену вредност на листи и не пронађете је. Које изборе имате? Или добијте грешку Н/А или покажите своју поруку. У ствари, постоји и трећа опција – ако ваш примарни влоокуп посрне, онда потражите нешто друго што је дефинитивно ту!

    Узмимо даље наш пример, хајде да направимо неку врсту контролне табле за наше кориснике која ће им показати проширење број одређене канцеларије. Нешто попут овога:

    Па, како извући екстензију из колоне Б на основу броја канцеларије у Д2? Са овом уобичајеном формулом Влоокуп-а:

    =VLOOKUP($D$2,$A$2:$B$7,2,FALSE)

    И она ће добро функционисати све док ваши корисници унесу исправан број у Д2. Али шта ако корисник унесе неки број који не постоји? У овом случају нека позову централу! За ово, уградите горњу формулу у валуе аргумент ИФЕРРОР и ставите још један Влоокуп у аргумент валуе_иф_еррор .

    Комплетна формула је мало дуга, али савршено функционише:

    =IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))

    Ако се пронађе број канцеларије, корисник добија одговарајући број локала:

    Ако се број канцеларије не пронађе, локал централне канцеларије се приказује:

    Да бисте формулу учинили мало компактнијом, можете користити другачији приступ:

    Прво, проверите да ли је број у Д2 присутан у колони за тражење (имајте на уму да смо поставили цол_индек_нум на 1 да би формула тражила и вратила вредност из колоне А): ВЛООКУП(Д2,$А$2:$Б$7,1,ФАЛСЕ)

    Ако наведени број канцеларије није пронађен, онда тражимо стринг "централна канцеларија", који се дефинитивно налази на листи за тражење. За ово умотавате прву ВЛООКУП у ИФЕРРОР и угнезујете целу ову комбинацију у другу функцију ВЛООКУП:

    =VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)

    Па, мало другачија формула, исти резултат:

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

    Како да урадите секвенцијалне ВЛООКУП-ове у Екцел-у

    У ситуацијама када морате даизвршите такозване секвенцијалне или ланчане Влоокупе у Екцел-у у зависности од тога да ли је претходно тражење успело или неуспешно, угнездите две или више функција ИФЕРРОР да бисте покренули своје Влоокупе једну по једну:

    ИФЕРРОР(ВЛООКУП(), ИФЕРРОР(ВЛООКУП(), ИФЕРРОР(ВЛООКУП(),"Није пронађено")))

    Тхе формула ради са следећом логиком:

    Ако први ВЛООКУП не пронађе ништа, први ИФЕРРОР хвата грешку и покреће други ВЛООКУП. Ако други ВЛООКУП не успе, други ИФЕРРОР хвата грешку и покреће трећи ВЛООКУП, и тако даље. Ако се све Влоокупс заплете, последња ИФЕРРОР враћа вашу поруку.

    Ова угнежђена формула ИФЕРРОР је посебно корисна када морате да прегледате преко више листова као што је приказано у примеру испод.

    Рецимо, имате три листе хомогених података у три различита радна листа (у овом примеру бројеви канцеларије) и желите да добијете екстензију за одређени број.

    Под претпоставком да је вредност за тражење у ћелији А2 у тренутном листу, а опсег претраживања је А2:Б5 у 3 различита радна листа (северни, јужни и западни), следећа формула ради као посластица:

    =IFERROR(VLOOKUP(A2,North!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,South!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,West!$A$2:$B$5,2,FALSE),"Not found")))

    Дакле, наш „ланчани Влоокупс" формула претражује три различита листа редоследом којим смо их угнездили у формулу и доноси прво подударање које пронађе:

    Овако користите ИФЕРРОР са ВЛООКУП у Екцел. Захваљујем вам на читању и надам се да ћемо се видетина нашем блогу следеће недеље!

    Доступна преузимања

    Примери формуле за Екцел ИФЕРРОР ВЛООКУП

    Мајкл Браун је посвећен технолошки ентузијаста са страшћу за поједностављење сложених процеса помоћу софтверских алата. Са више од деценије искуства у технолошкој индустрији, усавршио је своје вештине у Мицрософт Екцел-у и Оутлоок-у, као и у Гоогле табеле и документима. Мајклов блог посвећен је дељењу свог знања и стручности са другима, пружајући једноставне савете и упутства за побољшање продуктивности и ефикасности. Без обзира да ли сте искусан професионалац или почетник, Мајклов блог нуди вредне увиде и практичне савете како да на најбољи начин искористите ове основне софтверске алате.