Преглед садржаја
Да ли ваш ВЛООКУП извлачи погрешне податке или га уопште не можете натерати да ради? Овај водич показује како можете брзо да поправите уобичајене ВЛООКУП грешке и превазиђете његова главна ограничења.
У неколико ранијих чланака истражили смо различите аспекте функције Екцел ВЛООКУП. Ако сте нас помно пратили, до сада би требало да сте стручњак у овој области :)
Међутим, није без разлога што многи стручњаци за Екцел сматрају ВЛООКУП једном од најсложенијих Екцел функција. Има гомилу ограничења, која су извор разних проблема и грешака.
У овом чланку ћете пронаћи једноставна објашњења главних узрока ВЛООКУП грешака као што су #Н/А, #НАМЕ и #ВАЛУЕ, као и њихова решења и исправке. Почећемо са најочигледнијим разлозима зашто ВЛООКУП не ради, па би можда било добро да погледате доле наведене кораке за решавање проблема по редоследу.
Исправљање грешке #Н/А у ВЛООКУП
У ВЛООКУП формулама, порука о грешци #Н/А (што значи "није доступно") се приказује када Екцел не може да пронађе тражену вредност. Може бити неколико разлога зашто се то може догодити.
1. Вредност за тражење је погрешно написана
Увек је добра идеја да прво проверите најочигледнију ствар: ) Грешке се често дешавају када радите са заиста великим скуповима података који се састоје од хиљада редова или када се откуца вредност за тражење директно у формули.
2.ВЛООКУП не може изабрати низ табеле у другом радном листу (тј. када истакнете опсег у листу за тражење, ништа се не појављује у аргументу табле_арраи у формули или у одговарајућем пољу формуле чаробњак), тада су највероватније два листа отворена у одвојеним инстанцама Екцел-а и не могу да комуницирају један са другим. За више информација погледајте Како да одредите које Екцел датотеке се налазе у којој инстанци. Да бисте ово поправили, једноставно затворите све Екцел прозоре, а затим поново отворите листове/радне свеске у истој инстанци (подразумевано понашање). Како да Влоокуп без грешака у Екцел-у
Ако не желите да заплашите своје кориснике стандардним Екцел нотацијама грешака, уместо тога можете приказати сопствени текст прилагођен кориснику или вратити празну ћелију ако ништа није пронађено. Ово се може урадити коришћењем ВЛООКУП-а са функцијом ИФЕРРОР или ИФНА.
Ухвати све грешке
У програму Екцел 2007 и новијим верзијама можете користити функцију ИФЕРРОР да бисте проверили ВЛООКУП формулу за грешке и вратили своју сопствени текст (или празан стринг) ако је било која грешка откривена.
На пример:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")
У Екцел 2003 и старијим верзијама, можете користите формулу ИФ ИСЕРРОР за исту сврху:
=IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))
За више детаља погледајте Коришћење ИФЕРРОР са ВЛООКУП-ом у Екцел-у.
Обради #Н/А грешке
Да бисте ухватили само #Н/А грешке игноришући све друге типове грешака, користите функцију ИФНА (у Екцел 2013 ивиши) или ИФ ИСНА формула (у свим верзијама).
На пример:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, no match is found. Please try again!")
=IF(ISNA(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, no match is found. Please try again!", VLOOKUP(E1, A2:B10, 2, FALSE))
То је све за данас. Надамо се да ће вам овај водич помоћи да се решите ВЛООКУП грешака и да ваше формуле раде на начин на који желите.
Како да ВЛООКУП у Екцел-у - видео упутство
#Н/А у приближном подударању ВЛООКУПАко ваша формула тражи најближе подударање, ( ранге_лоокуп аргумент постављен на ТРУЕ или изостављен), грешка #Н/А може се појавити у два случаја :
- Вредност тражења је мања од најмање вредности у низу за тражење.
- Колона за тражење није сортирана у растућем редоследу.
3 . #Н/А са потпуним подударањем ВЛООКУП
Ако тражите тачно подударање ( ранге_лоокуп аргумент постављен на ФАЛСЕ), грешка #Н/А се јавља када је вредност тачно једнака траженој вредност није пронађена. За више информација погледајте ВЛООКУП тачно подударање у односу на приближно подударање.
4. Колона за тражење није крајња лева колона низа табеле
Једно од најзначајнијих ограничења Екцел ВЛООКУП-а је то што не може да гледа лево. Сходно томе, колона за тражење увек треба да буде крајња лева колона у низу табеле. У пракси, често заборавимо на ово и завршимо са грешкама #Н/А.
Решење : Ако није могуће реструктурирати ваше податке тако да колона за тражење буде крајња лева колона, можете користити функције ИНДЕКС и МАТЦХ заједно као алтернативу ВЛООКУП-у. Ево примера формуле: ИНДЕКС МАТЦХ формула за тражење вредности лево.
5. Бројеви су форматирани као текст
Још једна уобичајена изворна грешка #Н/А у ВЛООКУП формулама су бројеви форматирани као текст, било у главној табели или у табели за претрагу.
Ово обичнојавља се када увезете податке из неке спољне базе података или ако сте откуцали апостроф испред броја да бисте приказали водеће нуле.
Ево најочигледнијих индикатора бројева форматираних као текст:
Решење: Изаберите све проблематичне бројеве, кликните на икону грешке и изаберите Претвори у број из контекстног менија. За више информација погледајте Како претворити текст у број у Екцел-у.
6. Предњи или задњи размаци
Ово је најмање очигледан узрок грешке ВЛООКУП #Н/А јер људско око тешко може да уочи те додатне размаке, посебно када се ради са великим скуповима података где је већина уноса испод скроловања .
Решење 1: Додатни размаци у вредности тражења
Да бисте обезбедили исправан рад ваше ВЛООКУП формуле, умотајте вредност тражења у функцију ТРИМ:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Решење 2: Додатни размаци у колони за тражење
Ако се у колони за тражење појаве додатни размаци, постоји није лак начин да се избегну #Н/А грешке у ВЛООКУП-у. Уместо тога, можете користити комбинацију функција ИНДЕКС, МАТЦХ и ТРИМ као формулу низа:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Пошто је ово формула низа, не заборавите да притиснете Цтрл + Схифт + Ентер да бисте га правилно довршили (у Екцел 365 и Екцел 2021 где су низови изворни, ово такође функционише као обична формула).
Савет. Брза алтернатива је покретање алата Трим Спацес који ће елиминисативишак простора и у табелама за претрагу и у главним табелама за секунде, чинећи ваше ВЛООКУП формуле без грешака.
#ВРЕДНОСТ! грешка у формулама ВЛООКУП
Уопштено говорећи, Мицрософт Екцел приказује #ВАЛУЕ! грешка ако је вредност која се користи у формули погрешног типа података. Што се тиче ВЛООКУП-а, постоје два заједничка извора ВРЕДНОСТИ! грешка.
1. Вредност претраге премашује 255 знакова
Имајте на уму да ВЛООКУП не може да тражи вредности које садрже више од 255 знакова. Ако ваше вредности за тражење премашују ово ограничење, #ВАЛУЕ! биће приказана грешка:
Решење : Уместо тога, користите формулу ИНДЕКС МАТЦХ. У нашем случају, ова формула функционише савршено:
=INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))
2. Пуна путања до радне свеске за тражење није дата
Ако извлачите податке из друге радне свеске, морате укључити пуну путању до ње. Тачније, морате да приложите име радне свеске укључујући екстензију у [угластим заградама] и наведете назив листа праћен знаком узвика. Ако име радне свеске или име листа, или обоје, садрже размаке или било које не-абецедне знакове, путања мора бити затворена у једноструке наводнике.
Ево структуре аргумента табле_арраи за Преглед из друге радне свеске:
'[workbook name]sheet name'!range
Права формула може изгледати слично овоме:
=VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)
Горења формула ће тражити вредност А2 у колони Б листа 1 у НовоПрицес радна свеска и врати одговарајућу вредност из колоне Д.
Ако недостаје било који елемент путање, ваша ВЛООКУП формула неће радити и вратиће грешку #ВАЛУЕ (осим ако је тражена радна свеска тренутно опен).
За више информација погледајте:
- Како да се позовете на други лист или радну свеску у Екцел-у
- Како да урадите Влоокуп из друге радне свеске
3. Аргумент цол_индек_нум је мањи од 1
Тешко је замислити ситуацију када неко намерно унесе број мањи од 1 да би одредио колону из које ће вратити вредности. Али то се може догодити ако овај аргумент врати нека друга функција угнежђена у формулу ВЛООКУП.
Дакле, ако је аргумент цол_индек_нум већи од 1, ваша формула ће вратити #ВАЛУЕ! такође грешка.
Ако је број_индекса_колца већи од броја колона у низу табеле, ВЛООКУП производи #РЕФ! грешка.
Решавање грешке ВЛООКУП #НАМЕ
Ово је најлакши случај - #НАМЕ? грешка се појављује ако сте случајно погрешно написали име функције.
Решење је очигледно - проверите правопис :)
Главни узроци грешака у Екцел ВЛООКУП
Осим имајући прилично компликовану синтаксу, ВЛООКУП има вероватно више ограничења од било које друге Екцел функције. Због ових ограничења, наизглед исправна формула често може дати резултате другачије од оних које сте очекивали. Испод ћете наћирешења за неколико типичних сценарија када ВЛООКУП не успе.
ВЛООКУП не разликује велика и мала слова
Функција ВЛООКУП не разликује велика и мала слова и сматра да су мала и велика слова идентична.
Решење : Користите ВЛООКУП, КСЛООКУП или ИНДЕКС МАТЦХ у комбинацији са функцијом ЕКСАЦТ која може да се подудара са великим и малим словима текста. Детаљна објашњења и примере формула можете пронаћи у овом туторијалу: 5 начина да извршите Влоокуп који је осетљив на велика и мала слова у Екцел-у.
Нова колона је уметнута или уклоњена из табеле
Нажалост, ВЛООКУП формуле престају да раде сваки пут када се нова колона избрише из табеле за тражење или дода у њу. Ово се дешава зато што синтакса функције ВЛООКУП захтева дефинисање броја индекса повратне колоне. Када се нова колона дода/уклони из низа табеле, очигледно се тај број индекса мења.
Решење : Формула ИНДЕКС МАТЦХ поново долази у помоћ: ) Са ИНДЕКС МАТЦХ, ви наведите опсеге за тражење и враћање одвојено, тако да сте слободни да избришете или уметнете онолико колона колико желите без бриге о ажурирању сваке повезане формуле.
Референце на ћелије се мењају када копирате формулу у друге ћелије
Наслов даје исцрпно објашњење проблема, зар не?
Решење : Увек користите апсолутне референце (са знаком $) за аргумент табле_арраи , нпр. $А$2:$Ц$100 или$А:$Ц. Можете брзо да прелазите између различитих типова референци притиском на тастер Ф4.
ВЛООКУП враћа прву пронађену вредност
Као што већ знате, Екцел ВЛООКУП враћа прву вредност коју пронађе. Међутим, можете га натерати да донесе 2., 3., 4. или било коју другу појаву коју желите. Такође постоји начин да добијете последње подударање или сва пронађена подударања.
Решења : Примери формула су доступни овде:
- ВЛООКУП и враћање Н-тог појављивања
- ВЛООКУП више вредности
- КСЛООКУП формула за добијање последњег подударања
Зашто мој ВЛООКУП ради за неке ћелије, а не за друге?
Када ВЛООКУП формула враћа тачне податке у неким ћелијама и #Н/А грешке у другим, може бити неколико могућих разлога зашто се то дешава.
1. Низ табеле није закључан
Претпоставимо да имате ову формулу у реду 2 (рецимо у Е2), која добро функционише:
=VLOOKUP(D2, A2:B10, 2, FALSE)
Када се копира у ред 3, формула се мења у:
=VLOOKUP(D3, A3:B11, 2, FALSE)
Пошто се релативна референца користи за табле_арраи , она се мења на основу релативног положаја реда у који је формула копирана , у нашем случају од А2:Б10 до А3:Б11. Дакле, ако је подударање у реду 2, неће бити пронађено!
Решење : Када користите ВЛООКУП формулу за више од једне ћелије, увек закључајте низ табеле референца са знаком $ као што је $А$2:$Б$10.
2. Текстуалне вредности или типови података се не подударају
ДругоУобичајени разлог за неуспех ВЛООКУП-а је разлика између ваше вредности претраживања и сличне вредности у колони за тражење. У неким случајевима, разлика је толико суптилна да је тешко уочити визуелно.
Решење : Када ВЛООКУП враћа грешку #Н/А, док можете јасно да видите вредност тражења у тражи колону, а очигледно су обе написане потпуно исто, прво што треба да урадите је да утврдите основни узрок проблема – формулу или изворне податке.
Да бисте видели да ли су две вредности исти или различити, направите директно поређење на овај начин:
=E1=A4
Где је Е1 ваша вредност за тражење, а А4 је идентична вредност у колони за тражење.
Ако је формула враћа ФАЛСЕ, што значи да се вредности на неки начин разликују, иако изгледају потпуно слично.
У случају нумеричких вредности , најчешћи разлог су бројеви форматирани као текст.
У случају текстуалних вредности , највероватније је проблем у вишком размака. Да бисте ово потврдили, сазнајте укупну дужину два низа помоћу функције ЛЕН:
=LEN(E1)
=LEN(A4)
Ако су добијени бројеви различити (као на слици испод ), онда сте тачно одредили кривца – додатне размаке:
Да бисте решили проблем, или уклоните додатне размаке или користите ову формулу ИНДЕКС МАТЦХ ТРИМ као решење.
Зашто мој ВЛООКУП извлачи погрешне податке?
Могло би бити још више разлога заштоваш ВЛООКУП враћа погрешну вредност:
- Нетачан режим претраге . Ако желите тачно подударање, обавезно поставите аргумент ранге_лоокуп на ФАЛСЕ. Подразумевано је ТРУЕ, тако да ако изоставите овај аргумент, ВЛООКУП ће претпоставити да тражите приближно подударање и тражити најближу вредност која је мања од вредности за тражење.
- Колона за тражење није сортирано . Да би приближно подударање ВЛООКУП ( ранге_лоокуп постављено на ТРУЕ) исправно функционисало, прва колона у низу табеле мора да буде сортирана у растућем редоследу, од најмањег до највећег.
- Дупликати у колона за претрагу . Ако колона за тражење садржи две или више дупликата вредности, ВЛООКУП ће вратити прво пронађено подударање, које можда није оно које очекујете.
- Нетачна повратна колона . Двапут проверите број индекса у 3. аргументу :)
ВЛООКУП не ради између два листа
Прво, треба напоменути да су уобичајени разлози #Н/А, Грешке #ВАЛУЕ и #РЕФ о којима смо горе говорили могу да изазову исте проблеме када гледате са другог листа. Ако то није случај, погледајте следеће тачке:
- Уверите се да је спољна референца на други лист или другу радну свеску тачна.
- Када обављате Влоокуп из друге радне свеске која је затворено тренутно, проверите да ли ваша формула садржи пуну путању до затворене радне свеске.
- Ако