Змест
У гэтым уроку мы разгледзім, як разам выкарыстоўваць функцыі IFERROR і VLOOKUP для ўлову і апрацоўкі розных памылак. Акрамя таго, вы збіраецеся навучыцца рабіць паслядоўны прагляд у Excel шляхам укладання некалькіх функцый IFERROR адна ў адну.
Excel VLOOKUP і IFERROR - гэтыя дзве функцыі можа быць даволі цяжка зразумець паасобку, не кажучы ўжо пра тое, калі яны спалучаюцца. У гэтым артыкуле вы знойдзеце некалькі простых для выканання прыкладаў, якія тычацца звычайнага выкарыстання і ясна ілюструюць логіку формул.
Калі ў вас няма вялікага вопыту працы з функцыямі IFERROR і VLOOKUP, гэта можа быць добрая ідэя спачатку перагледзець іх асновы, перайшоўшы па спасылках вышэй.
Формула IFERROR VLOOKUP для апрацоўкі #N/A і іншых памылак
Калі Excel VLOOKUP не знаходзіць пошукавае значэнне, яно выдае памылку #N/A, напрыклад:
У залежнасці ад вашых бізнес-патрэб, вы можаце захацець замаскіраваць памылку сваім уласным тэкстам, нуль , або пустая ячэйка.
Прыклад 1. IFERROR з формулай VLOOKUP для замены памылак вашым уласным тэкстам
Калі вы жадаеце замяніць стандартнае абазначэнне памылак сваім уласным тэкстам, абгарніце Формула VLOOKUP у IFERROR і ўвядзіце любы тэкст, які вы хочаце, у другі аргумент ( value_if_error ), напрыклад, "Not found":
IFERROR(VLOOKUP( …),"Not знойдзена")З пошукавым значэннем у B2 у Галоўнай табліцы і дыяпазонам пошуку A2:B4 у Пошукутабліцы, формула прымае наступную форму:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")
На здымку экрана ніжэй паказана наша формула Excel IFERROR VLOOKUP у дзеянні:
вынік выглядае значна больш зразумелым і значна менш страшным, ці не так?
Аналагічным чынам вы можаце выкарыстоўваць INDEX MATCH разам з IFERROR:
=IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")
IFERROR Формула INDEX MATCH асабліва карысная, калі вы хочаце атрымаць значэнні са слупка, які знаходзіцца злева ад слупка пошуку (левы пошук), і вярнуць уласны тэкст, калі нічога не знойдзена.
Прыклад 2. IFERROR з VLOOKUP вяртае пустое або 0, калі нічога не знойдзена
Калі вы не хочаце нічога паказваць, калі пошукавае значэнне не знойдзена, дазвольце IFERROR паказаць пусты радок (""):
IFERROR(VLOOKUP( …),"")У нашым прыкладзе формула выглядае наступным чынам:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")
Як бачыце, ён нічога не вяртае, калі значэння пошуку няма ў спісе пошуку.
Калі вы жадаеце замяніць памылку нулявым значэннем , пастаўце 0 у апошнім а rgument:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)
Асцярожна! Функцыя Excel IFERROR выяўляе ўсе віды памылак, а не толькі #N/A. Добра гэта ці дрэнна? Усё залежыць ад вашай мэты. Калі вы хочаце замаскіраваць усе магчымыя памылкі, IFERROR Vlookup - гэта правільны шлях. Але гэта можа быць неразумным прыёмам у многіх сітуацыях.
Напрыклад, калі вы стварылі найменны дыяпазон для дадзеных вашай табліцы і няправільна напісалі гэтае імя ў сваёйФормула ВПР, IFERROR захопіць #NAME? і заменіце яго на «Не знойдзена» або на любы іншы тэкст, які вы падаеце. У выніку вы ніколі не даведаецеся, што ваша формула дае няправільныя вынікі, калі самі не заўважыце памылку друку. У такім выпадку больш разумным падыходам было б зафіксаваць толькі памылкі #N/A. Для гэтага выкарыстоўвайце формулу IFNA VLOOKUP у Excel 2013 і вышэй, IF ISNA VLOOKUP ва ўсіх версіях Excel.
Сутнасць такая: будзьце вельмі асцярожныя пры выбары кампаньёна для вашай формулы VLOOKUP :)
Устаўце IFERROR у VLOOKUP, каб заўсёды нешта знаходзіць
Уявіце сабе наступную сітуацыю: вы шукаеце пэўнае значэнне ў спісе і не знаходзіце яго. Які ў вас ёсць выбар? Атрымаеце паведамленне пра памылку N/A або пакажыце ўласнае паведамленне. Фактычна, ёсць трэці варыянт - калі ваш асноўны вупрагляд спатыкаецца, шукайце нешта іншае, што дакладна ёсць!
Працягваючы наш прыклад, давайце створым нейкую прыборную панэль для нашых карыстальнікаў, якая будзе паказваць ім пашырэнне нумар канкрэтнага кабінета. Нешта накшталт гэтага:
Такім чынам, як атрымаць пашырэнне са слупка B на падставе нумара офіса ў D2? З гэтай звычайнай формулай Vlookup:
=VLOOKUP($D$2,$A$2:$B$7,2,FALSE)
І яна будзе добра працаваць, пакуль вашы карыстальнікі ўводзяць сапраўдны лік у D2. Але што, калі карыстальнік уводзіць лік, якога не існуе? У гэтым выпадку няхай тэлефануюць у цэнтральны офіс! Для гэтага вы ўстаўляеце прыведзеную вышэй формулу ўАргумент значэнне КАЛІПАМЫЛКА і змясціце іншы ВПР у аргумент значэнне_калі_памылка .
Поўная формула трохі доўгая, але яна працуе ідэальна:
=IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))
Калі нумар офіса знойдзены, карыстальнік атрымлівае адпаведны дадатковы нумар:
Калі нумар офіса не знойдзены, дадатковы нумар цэнтральнага офіса адлюстроўваецца:
Каб зрабіць формулу крыху больш кампактнай, вы можаце выкарыстоўваць іншы падыход:
Спачатку праверце, ці прысутнічае лік у D2 у слупку пошуку (звярніце ўвагу, што мы ўсталявалі col_index_num у 1 для формулы для пошуку і вяртання значэння са слупка A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)
Калі ўказаны нумар офіса не знойдзены, то шукаем радок «цэнтральны офіс», які абавязкова ёсць у спісе пошуку. Для гэтага вы абгортваеце першую функцыю VLOOKUP у IFERROR і ўкладваеце ўсю гэтую камбінацыю ў іншую функцыю VLOOKUP:
=VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)
Ну, крыху іншая формула, той самы вынік:
Але якая прычына шукаць "цэнтральны офіс", вы можаце спытаць мяне. Чаму б не ўказаць дадатковы нумар непасрэдна ў IFERROR? Паколькі пашырэнне можа змяніцца ў нейкі момант у будучыні. Калі гэта адбудзецца, вам давядзецца абнавіць свае дадзеныя толькі адзін раз у зыходнай табліцы, не турбуючыся аб абнаўленні кожнай з вашых формул ВПР.
Як рабіць паслядоўныя ВПР у Excel
У сітуацыях, калі вам трэбавыконвайце так званыя паслядоўныя або ланцуговыя ВПР у Excel у залежнасці ад таго, удаўся або няўдалы папярэдні пошук, укладвайце дзве або больш функцый IFERROR, каб запускаць вашы ВПР адзін за адным:
IFERROR(VLOOKUP( …), IFERROR(VLOOKUP( …), IFERROR(VLOOKUP( …),"Не знойдзена"))формула працуе з наступнай логікай:
Калі першая ВПР нічога не знаходзіць, першая IFERROR фіксуе памылку і запускае іншую ВПР. Калі другі VLOOKUP не ўдаецца, другі IFERROR выяўляе памылку і запускае трэці VLOOKUP, і гэтак далей. Калі ўсе ВПР спатыкаюцца, апошняя КАЛІПАШЫЛКА вяртае ваша паведамленне.
Гэтая ўкладзеная формула КАЛІПАШЫЛКА асабліва карысная, калі вам трэба зрабіць ВПР на некалькіх аркушах , як паказана ў прыкладзе ніжэй.
Скажам, у вас ёсць тры спісы аднародных даных на трох розных аркушах (у гэтым прыкладзе нумары офісаў), і вы жадаеце атрымаць пашырэнне для пэўнага нумара.
Калі выказаць здагадку, што пошукавае значэнне знаходзіцца ў ячэйцы A2 на бягучым аркушы, а дыяпазон пошуку складае A2:B5 на 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")))
Такім чынам, наш "прыкаваны Формула ВПР" шукае ў трох розных аркушах у тым парадку, у якім мы ўклалі іх у формулу, і выводзіць першае знойдзенае супадзенне:
Вось як вы выкарыстоўваеце IFERROR з VLOOKUP у Excel. Я дзякую за чытанне і спадзяюся да сустрэчыу нашым блогу на наступным тыдні!
Даступныя спампоўкі
Прыклады формул Excel IFERROR VLOOKUP