Как да използвате изявления If и вложени If в Excel
Една функция на Excel , която използвам доста в моите формули, е функцията IF . Функцията IF се използва за тестване на логическо условие и получаване на два различни резултата в зависимост от това дали логическото условие връща TRUE или FALSE .
Нека използваме таблицата за продажби на мобилни телефони по-долу като пример. Можете да изтеглите примерния файл тук .
IF функция с едно условие(IF Function with Single Condition)
Помислете за сценарий, при който трябва да изчислите комисионната(Commission Fee) за всеки ред за продажби, в зависимост от това къде са извършени продажбите ( колона D(Column D) ). Ако продажбите са извършени в САЩ(USA) , комисионната(Commission Fee) е 10%, в противен случай останалите места ще имат комисионна(Commission Fee) от 5%.
Първата формула, която трябва да въведете в клетка F2(Cell F2) , е както е показано по-долу:
=IF(D2="USA", E2*10%, E2*5%)
Разбивка на формулата:
- =IF( – “=” показва началото на формула в клетката, а IF е функцията на excel, която използваме.
- D2=”USA” – Логически(Logical) тест, който извършваме (т.е. ако данните в колона D2 са САЩ(USA) ).
- E2*10% – Резултат(Result) , който ще бъде върнат от формулата, ако първоначалният логически тест даде TRUE (т.е. стойността в колона D2 е САЩ(USA) ).
- E2*5% – Резултат(Result) , който ще бъде върнат от формулата, ако първоначалният логически тест даде FALSE (т.е. стойността в колона D2 НЕ(NOT) е САЩ(USA) ).
- ) – Затваряща(Closing) скоба, указваща края на формулата.
След това можете да копирате формулата от клетка F2(Cell F2) в останалите редове в колона F(Column F) и тя ще изчисли комисионната такса(Commission Fee) за всеки ред, или с 10% или 5% в зависимост от това дали логическият тест IF връща TRUE или FALSE за всеки ред.
IF функция с множество условия(IF Function with Multiple Conditions)
Ами ако правилата бяха малко по-сложни, когато трябва да тествате за повече от едно логично условие с различни резултати, които се връщат за всяко условие?
Excel има отговор на това! Можем да комбинираме множество IF функции в една и съща клетка, която понякога е известна като вложен IF(Nested IF) .
Помислете за подобен сценарий, при който комисионните(Commissions) са различни за всяко място за продажба(Sales Location) , както е посочено по-долу:
- САЩ(USA) 10%
- Австралия(Australia) 5%
- Сингапур(Singapore) 2%
В клетка F2(Cell F2) (която по-късно ще бъде копирана в останалите редове в същата колона F), въведете формулата, както следва:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Разбивка на формулата:
- =IF( – Начало(Beginning) на формулата, използваща оператор IF
- D2=”USA” – Първият(First) логически тест, който извършваме (т.е. ако данните в колона D2 са САЩ(USA) ).
- E2*10% – Резултат(Result) , който ще бъде върнат от формулата, ако първоначалният логически тест даде TRUE (т.е. стойността в колона D2 е САЩ(USA) ).
- IF(D2=”Australia”,E2*5%,E2*2%) – втори оператор IF на Excel(Excel IF) , който ще бъде оценен, ако първоначалният логически тест е довел до FALSE (т.е. стойността в колона D2 НЕ е (NOT) САЩ(USA) ). Това е подобен синтаксис на „ функция IF с едно условие“(IF Function with Single Condition”) , обсъден по-рано в тази статия, където ако стойността на клетка (Cell) D2 е Австралия(Australia) , резултатът от E2*5% ще бъде върнат. В противен случай, ако стойността не е Australia , функцията ще върне резултат от E2*2%.
- ) – Затваряща(Closing) скоба, указваща края на формулата за първата IF функция.
Тъй като Excel ще оцени формулата отляво надясно, когато се изпълни логически тест (напр. D2=“USA”, функцията ще спре и ще върне резултата, игнорирайки всеки следващ логически тест след (напр . D2=“Australia” . )
Така че, ако първият логически тест върне FALSE (т.е. местоположението не е САЩ(USA) ), той ще продължи да оценява втория логически тест. Ако вторият логически тест също върне FALSE (т.е. местоположението не е Австралия(Australia) ), не е необходимо да тестваме допълнително, тъй като знаем, че единствената възможна стойност на клетка D2(Cell D2) е Сингапур(Singapore) , следователно трябва да върне резултат E2*2% .
Ако предпочитате за яснота, можете да добавите третия логически тест IF(D2=”Singapore”, “value if TRUE” , “value if FALSE”) . Следователно, пълната разширена формула е, както е показано по-долу:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
Както бе споменато по-рано, горното ще върне същия резултат като първоначалната формула, която имахме.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Бързи съвети(Quick Tips)
- За всяка отделна функция IF( , трябва да има отваряща и затваряща кръгла скоба. Когато има три IF функции съгласно един от примерите по-горе, формулата ще се нуждае от три затварящи скоби “)))” , като всяка обозначава края на съответен начален оператор IF( .
- Ако не посочим втория резултат от логическия тест (когато логическият тест доведе до FALSE ), стойността по подразбиране, присвоена от Excel , ще бъде текстът „FALSE“. Така че формулата =IF(D2=”USA”,E2*10%) ще върне текста “FALSE” , ако D2 не е “USA” .
- Ако имате няколко различни логически теста, всеки със собствен различен резултат, можете да комбинирате/вложите функцията IF няколко пъти, един след друг, подобно на примера по-горе.
Related posts
Как да изтриете празни редове в Excel
Как да използвате функцията "Говорете клетки" на Excel
Как да вмъкнете работен лист на Excel в Word Doc
Как да използвате анализа какво-ако на Excel
Как да коригирате ред в Excel
Свързване на Excel към MySQL
5 начина за конвертиране на текст в числа в Excel
Как да обедините данни в няколко файла на Excel
Как да използвате абсолютни препратки в Excel
Как да създадете проста обобщена таблица в Excel
Как да вмъкнете CSV или TSV в работен лист на Excel
10 съвета и трика за Excel за 2019 г
Как да изчислим Z-Score в Excel
Защо трябва да използвате наименувани диапазони в Excel
Как да отворите Word и Excel в безопасен режим
Как да коригирате #N/A грешки във формули на Excel като VLOOKUP
2 начина за използване на функцията за транспониране на Excel
Какво е VBA масив в Excel и как да го програмирам
Използвайте клавиатурата, за да промените височината на реда и ширината на колоната в Excel
3 начина за разделяне на клетка в Excel