IF VLOOKUP в Excel: формула Vlookup с условие If

  • Споделя Това
Michael Brown

В урока е показано как да комбинирате V LOOKUP и функцията IF заедно за v-lookkup с условие if в Excel. Ще научите също как да използвате формулите IF ISNA VLOOKUP, за да замените грешките #N/A със собствен текст, нула или празна клетка.

Въпреки че функциите VLOOKUP и IF са полезни сами по себе си, заедно те осигуряват още по-ценни преживявания. Този урок предполага, че сте запомнили добре синтаксиса на двете функции, в противен случай може да искате да опресните знанията си, като следвате горните връзки.

    Vlookup с оператор If: връщане на True/False, Yes/No и т.н.

    Един от най-често срещаните сценарии за комбиниране на If и Vlookup е да се сравни стойността, върната от Vlookup, с примерна стойност и да се върне Да / Не или Вярно / невярно като резултат.

    В повечето случаи следната обща формула е подходяща:

    IF(VLOOKUP(...) = стойност , TRUE, FALSE)

    Преведена на обикновен английски език, формулата инструктира Excel да върне Истински ако Vlookup е вярно (т.е. равно на посочената стойност). Ако Vlookup е невярно (не е равно на посочената стойност), формулата връща Фалшив .

    По-долу ще намерите няколко реални приложения на тази формула 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, "Не", "Да")

    Вместо Да/Не , можете да върнете TRUE/FALSE или В наличност/разпродадени или други два варианта. Например:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Разпродадено", "На склад")

    Можете също така да сравните стойността, върната от Vlookup, с извадка текст . В този случай не забравяйте да поставите текстовия низ в кавички, както е показано по-долу:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="текст на извадката",TRUE,FALSE)

    Пример 2. Сравняване на резултата от Vlookup с друга клетка

    Друг типичен пример за Vlookup с условие If в Excel е сравняването на резултата от Vlookup със стойност в друга клетка. Например можем да проверим дали тя е по-голяма или равна на число в клетка G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Да!", "Не")

    И ето нашата формула 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)), "Не", "Да")

    Ако бизнес логиката ви изисква противоположни резултати, просто разменете "Да" и "Не", за да обърнете логиката на формулата:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Да", "Не")

    Excel Ако 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 са продажбите.

    IF ISNA VLOOKUP за скриване на грешки #N/A

    Ако функцията VLOOKUP не може да открие зададена стойност, тя изхвърля грешка #N/A. За да уловите тази грешка и да я замените със собствен текст, вградете формула Vlookup в логическия тест на функцията IF, както е показано по-долу:

    IF(ISNA(VLOOKUP(...)), "Not found", VLOOKUP(...))

    Естествено, можете да въведете произволен текст вместо "Not found".

    Да предположим, че имате списък с имена на продавачи в една колона и суми за продажби в друга колона. Вашата задача е да изтеглите числото, съответстващо на името, което потребителят въведе в F1. Ако името не е намерено, изведете съобщение, в което се посочва това.

    С имената в A2:A10 и сумите C2:C10 задачата може да бъде изпълнена със следната формула If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Не е намерен", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Ако името е намерено, се връща съответната сума за продажба:

    Ако стойността за търсене не е намерена, бутонът Не е намерен вместо грешка #N/A се появява съобщение:

    Как работи тази формула

    Логиката на формулата е много проста: използвате функцията ISNA, за да проверите Vlookup за грешки #N/A. Ако възникне грешка, ISNA връща TRUE, в противен случай FALSE. Горните стойности отиват в логическия тест на функцията IF, която прави едно от следните действия:

    • Ако логическият тест е TRUE (грешка #N/A), се показва вашето съобщение.
    • Ако логическият тест е FALSE (стойността на търсачката е намерена), Vlookup връща нормално съвпадение.

    IFNA VLOOKUP в по-нови версии на Excel

    От Excel 2013 нататък можете да използвате функцията IFNA вместо IF ISNA, за да улавяте и обработвате грешки #N/A:

    IFNA(VLOOKUP(...), " Не е намерен ")

    В нашия пример формулата ще има следната форма:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Не е намерен")

    Съвет: Ако искате да улавяте всякакви грешки, а не само #N/A, използвайте VLOOKUP в комбинация с функцията IFERROR. Повече информация можете да намерите тук: IFERROR VLOOKUP in 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), "")

    If с индексно съвпадение - ляв vlookup с условие If

    Опитните потребители на Excel знаят, че функцията VLOOKUP не е единственият начин за извършване на вертикално търсене в Excel. За тази цел може да се използва и комбинацията INDEX MATCH, която е още по-мощна и гъвкава. Добрата новина е, че Index Match може да работи заедно с IF по абсолютно същия начин като Vlookup.

    Например имате номера на поръчки в колона А и имена на продавачи в колона Б. Търсите формула, която да извлече номера на поръчката за конкретен продавач.

    Vlookup не може да се използва в този случай, тъй като не може да търси отдясно наляво. Index Match ще работи безпроблемно, стига стойността за търсене да е намерена в колоната за търсене. Ако това не е така, ще се появи грешка #N/A. За да замените стандартния запис на грешка с ваш собствен текст, вложете Index Match в IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Не е намерен", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))

    В Excel 2016 и 2016 можете да използвате IFNA вместо IF ISNA, за да направите формулата по-компактна:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Не е намерен")

    По подобен начин можете да използвате Index Match в други формули If.

    Ето как се използват Vlookup и IF заедно в Excel. За да разгледате по-отблизо формулите, разгледани в този урок, можете да изтеглите нашата примерна работна книга по-долу. Благодаря ви за четенето и се надявам да се видим в нашия блог следващата седмица!

    Практическа работна тетрадка за изтегляне

    Excel IF Vlookup - примери за формули (.xlsx файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.