IF VLOOKUP ў Excel: формула VLOOKUP з умовай If

  • Падзяліцца Гэтым
Michael Brown

Падручнік паказвае, як аб'яднаць функцыі V LOOKUP і IF для v-пошуку з умовай if у Excel. Вы таксама даведаецеся, як выкарыстоўваць формулы IF ISNA VLOOKUP для замены памылак #N/A вашым уласным тэкстам, нулём або пустой ячэйкай.

Хоць функцыі VLOOKUP і IF карысныя самі па сабе, разам яны даюць яшчэ больш каштоўны вопыт. Гэты падручнік прадугледжвае, што вы добра запомнілі сінтаксіс дзвюх функцый, у адваротным выпадку вы можаце асвяжыць свае веды, перайшоўшы па прыведзеных вышэй спасылках.

    Vlookup with If statement: return True/ Хлусня, Так/Не і г.д.

    Адзін з найбольш распаўсюджаных сцэнарыяў, калі вы аб'ядноўваеце If і Vlookup разам, - параўнаць значэнне, якое вяртае Vlookup, са значэннем выбаркі і вярнуць Так / Не або Праўда/Хлусня як вынік.

    У большасці выпадкаў наступная агульная формула будзе добра працаваць:

    КАЛІ(VLOOKUP(…) = значэнне, TRUE, FALSE)

    Перакладзеная на простую англійскую мову, формула інструктуе Excel вярнуць True , калі Vlookup праўдзівы (г.зн. роўны зададзенаму значэнню). Калі Vlookup мае false (не роўнае зададзенаму значэнню), формула вяртае False .

    Ніжэй вы знойдзеце некалькі спосабаў выкарыстання гэтай формулы IF Vlookup у рэальным жыцці.

    Прыклад 1. Шукайце пэўнае значэнне

    Скажам, у вас ёсць спіс элементаў у слупку A і колькасць у слупку B. Вы ствараеце прыборную панэль для сваіх карыстальнікаў і вам патрэбна формулаякі правяраў бы колькасць тавару ў E1 і інфармаваў бы карыстальніка, ці ёсць тавар у наяўнасці або раскуплены.

    Вы выцягваеце колькасць з дапамогай звычайнага Vlookup з формулай дакладнага супадзення, падобнай да гэтай:

    =VLOOKUP(E1,$A$2:$B$10,2,FALSE)

    Затым напішыце аператар IF, які параўноўвае вынік Vlookup з нулем і вяртае «Не», калі ён роўны 0, у адваротным выпадку «Так»:

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0,"No","Yes")

    Замест Так/Не вы можаце вярнуць ПРАЎДА/ХЛУСНЯ або У наяўнасці/Распрададзены ці любыя іншыя два выбары. Напрыклад:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Sold out","In stock")

    Вы таксама можаце параўнаць значэнне, вернутае Vlookup, з узорам тэксту . У гэтым выпадку не забудзьцеся заключыць тэкставы радок у двукоссе, напрыклад:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="sample text",TRUE,FALSE)

    Прыклад 2. Параўнайце вынік ВПР з іншай ячэйкай

    Яшчэ адзін тыповы прыклад Умова ВПР з Калі ў Excel параўноўвае вывад ВПР са значэннем у іншай ячэйцы. Напрыклад, мы можам праверыць, ці больш яно або роўна лічбе ў ячэйцы G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2,"Yes!","No")

    І вось наша формула If з Vlookup у дзеянні:

    Падобным чынам вы можаце выкарыстоўваць любы іншы лагічны аператар разам са спасылкай на ячэйку ў вашай формуле Excel If Vlookup.

    Прыклад 3. Значэнні Vlookup у больш кароткім спісе

    Каб параўнаць кожную ячэйку ў мэтавым слупку з іншым спісам і вярнуць Праўда або Так , калі супадзенне знойдзена, Хлусня або Не у адваротным выпадку выкарыстоўвайце наступную агульную формулу IF ISNA VLOOKUP:

    IF(ISNA(VLOOKUP(…)),"Не","Так")

    Калі VLOOKUP прыводзіць да памылкі #N/A, формула вяртае "Не", што азначае, што шуканае значэнне не знойдзена ў спісе пошуку. Калі супадзенне знойдзена, вяртаецца "Так". Напрыклад:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"No","Yes")

    Калі ваша бізнес-логіка патрабуе супрацьлеглых вынікаў, проста памяняйце месцамі «Так» і «Не», каб змяніць логіку формулы:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"Yes","No")

    Формула Excel If Vlookup для выканання розных вылічэнняў

    Акрамя адлюстравання вашых уласных тэкставых паведамленняў, функцыя If з Vlookup можа выконваць розныя вылічэнні на падставе ўказаных вамі крытэрыяў.

    Працягваючы наш прыклад, давайце вылічым камісію канкрэтнага прадаўца (F1) у залежнасці ад яе эфектыўнасці: 20% камісія для тых, хто зарабіў 200 і больш долараў, 10% для ўсіх астатніх .

    Для гэтага вы правяраеце, ці значэнне, якое вяртае Vlookup, большае або роўнае 200, і калі так, памнажаеце яго на 20%, у адваротным выпадку на 10%:

    =IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)

    Дзе A2:A10 - імёны прадаўцоў, а C2:C10 - продажы.

    КАЛІ ISNA VLOOKUP, каб схаваць памылкі #N/A

    Калі функцыя VLOOKUP не можа знайсці зададзенае значэнне, яна выдае памылку #N/A. Каб выявіць гэтую памылку і замяніць яе ўласным тэкстам, убудуйце формулу ВПР у лагічны тэст функцыі КАЛІ, напрыклад:

    КАЛІ(ISNA(ВПР(…)), «Не знойдзена», ВПР(…) )

    Натуральна, вы можаце ўвесці любы тэкст замест «Не знойдзена».

    Выкажам здагадку, што ў вас ёсць спіс прадаўцоўімёны ў адным слупку і сумы продажаў у іншым слупку. Ваша задача - выцягнуць лік, які адпавядае імя, якое карыстальнік уводзіць у F1. Калі імя не знойдзена, пакажыце адпаведнае паведамленне.

    З імёнамі ў A2:A10 і сумамі C2:C10 задача можа быць выканана з дапамогай наступнай формулы If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Калі імя знойдзена, вяртаецца адпаведная сума продажаў:

    Калі пошукавае значэнне не знойдзена, Не знойдзена замест памылкі #N/A з'яўляецца паведамленне:

    Як працуе гэтая формула

    Логіка формулы вельмі простая: вы выкарыстоўваеце функцыю ISNA каб праверыць Vlookup на наяўнасць памылак #N/A. Калі ўзнікае памылка, ISNA вяртае TRUE, у адваротным выпадку FALSE. Прыведзеныя вышэй значэнні ідуць на лагічную праверку функцыі КАЛІ, якая робіць адно з наступнага:

    • Калі лагічная праверка TRUE (памылка #N/A), адлюстроўваецца ваша паведамленне.
    • Калі лагічны тэст ХЛУСНІ (знаходзіцца пошукавае значэнне), Vlookup звычайна вяртае супадзенне.

    IFNA VLOOKUP у новых версіях Excel

    Пачынаючы з Excel 2013, вы можна выкарыстоўваць функцыю IFNA замест IF ISNA для выяўлення і апрацоўкі памылак #N/A:

    IFNA(VLOOKUP(…), " Не знойдзена")

    У нашым прыкладзе формула будзе прыняць наступную форму:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Not found")

    Савет. Калі вы хочаце ўлоўліваць разнастайныя памылкі, а не толькі #N/A, выкарыстоўвайце VLOOKUP у спалучэнні з функцыяй IFERROR. Больш падрабязную інфармацыю можна знайсці тут: IFERRORVLOOKUP у Excel.

    Excel VLOOKUP: калі не знойдзена, вяртае 0

    Пры працы з лікавымі значэннямі вы можаце вярнуць нуль, калі шуканае значэнне не знойдзена. Каб зрабіць гэта, выкарыстоўвайце формулу IF ISNA VLOOKUP, разгледжаную вышэй, з невялікімі зменамі: замест тэкставага паведамлення ўвядзіце 0 у value_if_true аргумент функцыі IF:

    IF(ISNA(VLOOKUP( …)), 0, VLOOKUP(…))

    У нашым прыкладзе табліцы формула будзе выглядаць наступным чынам:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    У апошнія версіі Excel 2016 і 2013, вы можаце зноў выкарыстоўваць камбінацыю IFNA Vlookup:

    =IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

    Excel Vlookup: калі не знойдзена, вярніце пустую ячэйку

    Гэта яшчэ адзін варыянт аператара "Vlookup if then": нічога не вяртае, калі пошукавае значэнне не знойдзена. Для гэтага загадайце формуле вяртаць пусты радок ("") замест памылкі #N/A:

    IF(ISNA(VLOOKUP(…)), "", VLOOKUP(…))

    Ніжэй некалькі поўных прыкладаў формул:

    Для ўсіх версій Excel:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    Для Excel 2016 і Excel 2013:

    =IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

    Калі з супадзеннем індэкса - левы ВПР з умовай Калі

    Дасведчаныя карыстальнікі Excel ведаюць, што функцыя ВПР - не адзіны спосаб выканання вертыкальнага пошуку ў Excel. Камбінацыя INDEX MATCH таксама можа быць выкарыстана для гэтай мэты, і яна яшчэ больш магутная і ўніверсальная. Добрая навіна заключаецца ў тым, што Index Match можа працаваць разам з IF сапраўды гэтак жа, якVlookup.

    Напрыклад, у вас ёсць нумары заказаў у слупку A і назвы прадаўцоў у слупку B. Вы шукаеце формулу, каб атрымаць нумар заказу для канкрэтнага прадаўца.

    Vlookup не можа быць выкарыстоўваецца ў гэтым выпадку, таму што ён не можа шукаць справа налева. Index Match будзе працаваць бесперабойна, пакуль пошукавае значэнне знаходзіцца ў пошукавым слупку. Калі не, з'явіцца памылка #N/A. Каб замяніць стандартнае абазначэнне памылак вашым уласным тэкстам, укладзіце Index Match у IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))

    У Excel 2016 і 2016 вы можаце выкарыстоўваць IFNA замест IF ISNA, каб зрабіць формулу больш compact:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Not found")

    Аналагічным чынам вы можаце выкарыстоўваць Index Match у іншых формулах If.

    Вось як вы выкарыстоўваеце Vlookup і аператар IF разам у Excel. Каб больш падрабязна разгледзець формулы, якія абмяркоўваюцца ў гэтым уроку, вы можаце загрузіць наш узор кнігі ніжэй. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!

    Практычны сшытак для спампоўкі

    Excel IF Vlookup - прыклады формул (.xlsx файл)

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.