Съдържание
В урока е обяснено как да използвате множество IF в Excel и са дадени няколко примера за вложени If формули за най-често срещаните задачи.
Ако някой ви попита коя функция на Excel използвате най-често, какъв би бил отговорът ви? В повечето случаи това е функцията IF на Excel. Обикновената формула If, която проверява едно условие, е много проста и лесна за писане. Но какво става, ако данните ви изискват по-сложни логически тестове с няколко условия? В този случай можете да включите няколко функции IF в една формула и тези няколко функции Ifсе наричат Вложен IF в Excel . Най-голямото предимство на вложената декларация If е, че тя ви позволява да проверявате повече от едно условие и да връщате различни стойности в зависимост от резултатите от тези проверки - всичко това в една формула.
Microsoft Excel има ограничения за нива на вложени IFs . В Excel 2003 и по-ниски версии бяха разрешени до 7 нива. В Excel 2007 и по-високи версии можете да вложите до 64 функции IF в една формула.
По-нататък в този урок ще намерите няколко примера за вложени If в Excel, както и подробно обяснение на техния синтаксис и логика.
Пример 1. Класическа вложена формула IF
Ето един типичен пример за Excel If с множество условия. Да предположим, че имате списък със студенти в колона А и техните резултати от изпитите в колона Б и искате да класифицирате резултатите със следните условия:
- Отличен: над 249
- Добър: между 249 и 200, включително
- Задоволително: между 199 и 150 включително
- Беден: под 150
А сега нека напишем вложена функция IF въз основа на горните критерии. Счита се за добра практика да се започне с най-важното условие и функциите ви да бъдат възможно най-прости. Нашата вложена формула IF в Excel изглежда по следния начин:
=IF(B2>249, "Отличен", IF(B2>=200, "Добър", IF(B2>150, "Задоволителен", "Лош"))
И работи точно както трябва:
Разбиране на вложената логика IF в Excel
Чувал съм някои хора да казват, че Excel multiple If ги побърква :) Опитайте се да погледнете на това под друг ъгъл:
Това, което формулата всъщност казва на Excel да направи, е да оцени logical_test на първата функция IF и, ако условието е изпълнено, връща стойността, предоставена в value_if_true Ако условието на първата функция If не е изпълнено, тествайте втората функция If и т.н.
IF( проверете дали B2>=249, ако е вярно - връща се "Отлично", или пъкIF( проверете дали B2>=200, ако е вярно - връща се "Добър", или пък
IF( проверете дали B2>150, ако е вярно - връща се "Задоволително", ако е false -
return "Poor")))
Пример 2. Множество If с аритметични изчисления
Ето още една типична задача: единичната цена варира в зависимост от зададеното количество, а целта ви е да напишете формула, която да изчислява общата цена за всяко количество елементи, въведени в определена клетка. С други думи, вашата формула трябва да проверява няколко условия и да извършва различни изчисления в зависимост от това в кой диапазон от количества попада зададеното количество:
Единица Количество | Цена на единица |
1 до 10 | $20 |
11 до 19 | $18 |
20 до 49 | $16 |
50 до 100 | $13 |
Над 101 | $12 |
Тази задача може да бъде изпълнена и чрез използване на множество функции IF. Логиката е същата като в горния пример, единствената разлика е, че умножавате зададеното количество по стойността, върната от вложените функции IF (т.е. съответната цена за единица).
Ако приемем, че потребителят въведе количеството в клетка B8, формулата е следната:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
Резултатът ще изглежда по подобен начин:
Както разбирате, този пример демонстрира само общия подход и можете лесно да персонализирате тази вложена функция If в зависимост от конкретната си задача.
Например, вместо да кодирате цените във формулата, можете да направите препратка към клетките, съдържащи тези стойности (клетки B2 до B6). Това ще позволи на потребителите да редактират изходните данни, без да се налага да актуализират формулата:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Или може да искате да включите допълнителна(и) функция(и) IF, която(ито) фиксира(т) горна, долна или и двете граници на диапазона на количеството. Когато количеството е извън диапазона, формулата ще покаже съобщение "извън диапазона". Например:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Описаните по-горе вложени IF формули работят във всички версии на Excel. В Excel 365 и Excel 2021 можете да използвате и функцията IFS за същата цел.
Напредналите потребители на Excel, които са запознати с формулите за масиви, могат да използват тази формула, която по същество прави същото нещо като вложената функция IF, разгледана по-горе. Въпреки че формулата за масиви е много по-трудна за разбиране, да не говорим за писане, тя има едно безспорно предимство - посочвате обхвата от клетки, съдържащи вашите условия, вместо да се позовавате на всяко условие поотделно.Формулата е по-гъвкава и ако потребителите променят някое от съществуващите условия или добавят ново, ще трябва да актуализирате само една референция на диапазона във формулата.
Вложен IF в Excel - съвети и трикове
Както току-що видяхте, използването на множествен IF в Excel не е никаква наука. Следващите съвети ще ви помогнат да подобрите формулите си с вложен IF и да предотвратите често срещани грешки.
Вложени граници на IF
В Excel 2007 - Excel 365 можете да вложите до 64 функции IF. В по-старите версии на Excel 2003 и по-ниски можете да използвате до 7 вложени функции IF. Фактът, че можете да вложите много функции IF в една формула, не означава, че трябва да го правите. Имайте предвид, че всяко допълнително ниво затруднява разбирането на формулата и отстраняването на проблеми. Ако формулата ви има твърде много вложени нива, може даискате да го оптимизирате, като използвате една от тези алтернативи.
Редът на вложените функции IF е от значение
Вложената функция IF на Excel оценява логическите тестове в реда, в който те се появяват във формулата, и веднага щом едно от условията се оцени като TRUE, следващите условия не се проверяват. С други думи, формулата спира след първия резултат TRUE.
Нека да видим как работи на практика. При положение че B2 е равно на 274, вложената формула IF по-долу оценява първия логически тест (B2>249) и връща "Отличен", тъй като този логически тест е TRUE:
=IF(B2>249, "Отличен", IF(B2>=200, "Добър", IF(B2>150, "Задоволителен", "Лош"))
Сега нека обърнем реда на функциите IF:
=IF(B2>150, "Задоволително", IF(B2>200, "Добро", IF(B2>249, "Отлично", "Лошо"))
Формулата проверява първото условие и тъй като 274 е по-голямо от 150, резултатът от този логически тест също е TRUE. Следователно формулата връща "Satisfactory" (задоволително), без да проверява други условия.
Виждате, че промяната на реда на функциите IF променя резултата:
Оценяване на логиката на формулата
За да наблюдавате стъпка по стъпка логическия поток на вашата вложена формула IF, използвайте функцията Evaluate Formula, разположена в Формула в раздела Одит на формулите Подчертаният израз е частта, която в момента се оценява, и щракнете върху Оценяване на ще ви покаже всички стъпки в процеса на оценяване.
Например оценката на първия логически тест на вложената формула IF, показана на снимката по-долу, ще протече по следния начин: B2>249; 274>249; TRUE; Отлично.
Балансиране на скобите на вложените функции IF
Едно от основните предизвикателства при вложените IF в Excel е съчетаването на двойките скоби. Ако скобите не съвпадат, формулата ви няма да работи. За щастие Microsoft Excel предоставя няколко функции, които могат да ви помогнат да балансирате скобите при редактиране на формула:
- Ако имате повече от един набор скоби, двойките скоби са оцветени в различни цветове, така че отварящата скоба да съвпада със затварящата.
- Когато затворите скоба, Excel за кратко подчертава съответстващата двойка. Същият ефект на удебеляване или "трептене" се получава, когато се движите във формулата с помощта на клавишите със стрелки.
За повече информация вижте Съчетаване на двойки скоби във формулите на Excel.
Третиране на текст и числа по различен начин
Когато изграждате логически тестове на вложените IF формули, не забравяйте, че текстът и числата трябва да се третират по различен начин - винаги ограждайте текстовите стойности с двойни кавички, но никога не поставяйте кавички около числата:
Правилно: =IF(B2>249, "Отличен",...)
Грешка: =IF(B2>"249", "Excellent",…)
Логическият тест на втората формула ще върне FALSE, дори ако стойността в B2 е по-голяма от 249. Защо? Защото 249 е число, а "249" е цифров низ, което са две различни неща.
Добавяне на интервали или прекъсвания на редове, за да се улесни четенето на вложените IFs
Когато изграждате формула с множество вложени нива на IF, можете да направите логиката на формулата по-ясна, като разделите различните функции IF с интервали или прекъсвания на редовете. Excel не се интересува от допълнителните интервали във формулата, така че може да не се притеснявате за разбъркването ѝ.
За да преместите определена част от формулата на следващия ред, просто щракнете върху мястото, където искате да поставите прекъсване на реда, и натиснете Alt + Enter . След това разширете лентата с формулите, колкото е необходимо, и ще видите, че вложената формула IF е станала много по-лесна за разбиране.
Алтернативи на вложен IF в Excel
За да заобиколите ограничението от седем вложени функции IF в Excel 2003 и по-старите версии и за да направите формулите си по-компактни и бързи, помислете за използване на следните алтернативи на вложените функции IF в Excel.
- За да тествате няколко условия и да връщате различни стойности въз основа на резултатите от тези тестове, можете да използвате функцията CHOOSE вместо вложените IF.
- Създайте референтна таблица и използвайте VLOOKUP с приблизително съвпадение, както е показано в този пример: VLOOKUP вместо вложен IF в Excel.
- Използвайте IF с логическите функции OR / AND, както е показано в тези примери.
- Използвайте формула за масив, както е показано в този пример.
- Комбинирайте няколко изявления IF, като използвате функцията CONCATENATE или оператора за конкатенация (&). Пример за формула можете да намерите тук.
- За опитните потребители на Excel най-добрата алтернатива на използването на множество вложени функции IF може да бъде създаването на потребителска функция на работния лист с помощта на VBA.
Ето как се използва формулата If в Excel с множество условия. Благодаря ви за прочита и се надявам да се видим в нашия блог следващата седмица.
Практическа работна тетрадка за изтегляне
Вложени изявления If Excel (.xlsx файл)