Една функция на Excel, която използвам доста в моите формули, е функцията IF . Функцията IF се използва за тестване на логическо условие и дава два различни резултата в зависимост от това дали логическото условие връща TRUE или FALSE .
Да използваме таблицата за продажби на мобилни телефони по-долу като пример. Можете да изтеглите примерния файл тук.
IF функция с едно условие
Помислете за сценарий, в който трябва да изчислите таксата на Комисията за всеки ред за продажби, в зависимост от това къде са извършени продажбите ( колона D ). Ако продажбите са извършени в САЩ, таксата за Комисията е 10%, в противен случай останалите места ще имат такса от 5% за Комисията.
Първата формула, която трябва да въведете в клетка F2 е както е показано по-долу:
= IF (D2 = "САЩ", E2 * 10%, E2 * 5%)
Разбивка по формулата:
- = IF ( - "=" показва началото на формула в клетката и IF е функцията excel, която използваме.
- D2 = ”USA” - логически тест, който извършваме (т.е. ако данните в колона D2 са САЩ ).
- E2 * 10% - Резултат, който ще бъде върнат от формулата, ако първоначалният логически тест е в TRUE (т.е. стойността в колона D2 е САЩ ).
- E2 * 5% - Резултат, който ще бъде върнат от формулата, ако първоначалните резултати от логически тестове в FALSE (т.е. стойността в колона D2 не е САЩ ).
- ) - Затваряща скоба, показваща края на формулата.
След това можете да копирате формулата от клетка F2 в останалите редове в колона F и тя ще изчисли таксата на Комисията за всеки ред, или с 10% или 5%, в зависимост от това дали логическият тест IF връща TRUE или FALSE на всеки ред.
IF функция с множество условия
Какво ще стане, ако правилата са малко по-сложни, когато трябва да тествате повече от едно логическо условие с различни резултати, които се връщат за всяко състояние?
Excel има отговор на това! Можем да комбинираме няколко функции на IF в рамките на една и съща клетка, която понякога се нарича Nested IF .
Помислете за подобен сценарий, при който комисионите са различни за всяка позиция за продажба, както следва:
- САЩ 10%
- Австралия 5%
- Сингапур 2%
В клетка F2 (която по-късно ще бъде копирана в останалите редове в същата колона F) въведете формулата, както следва:
= IF (D2 = "САЩ", Е2 * 10%, IF (D2 = "Австралия", Е2 * 5%, Е2 * 2%))
Разбивка по формулата:
- = IF ( - Начало на формулата с помощта на IF изявление
- D2 = ”USA” - Първият логически тест, който извършваме (т.е. ако данните в колона D2 са САЩ ).
- E2 * 10% - Резултат, който ще бъде върнат от формулата, ако първоначалният логически тест е в TRUE (т.е. стойността в колона D2 е САЩ ).
- IF (D2 = ”Австралия”, E2 * 5%, E2 * 2%) - втори Excel IF отчет, който ще бъде оценен, ако първоначалният логически тест е довел до FALSE (т.е. стойността в колона D2 не е САЩ ). Това е подобен синтаксис на " IF Function with Single Condition", обсъден по-рано в тази статия, където ако стойността на Cell D2 е Австралия, резултатът от E2 * 5% ще бъде върнат. В противен случай, ако стойността не е Австралия, функцията ще върне резултат от E2 * 2%.
- ) - Затваряща скоба, показваща края на формулата за първата функция IF .
Тъй като Excel ще оцени формулата отляво надясно, когато се изпълни логически тест (напр. D2 = “USA”, функцията ще спре и ще върне резултата, игнорирайки следващите логически тестове след (например D2 = “Австралия”) . )
Така че, ако първият логически тест покаже FALSE (т.е. местоположението не е САЩ ), той ще продължи да оценява втория логически тест. Ако и вторият логически тест върне FALSE (т.е. местоположението не е Австралия ), не е необходимо да тестваме по-нататък, тъй като знаем, че единствената възможна стойност за клетка D2 е Сингапур, следователно трябва да върне резултат от E2 * 2% .
Ако предпочитате за яснота, можете да добавите третия логически тест IF (D2 = "Сингапур", "стойност ако е TRUE", "value if FALSE") . Следователно пълната разширена формула е показана по-долу:
= IF (D2 = "САЩ", Е2 * 10%, IF (D2 = "Австралия", Е2 * 5%, IF (D2 = "Сингапур", Е2 * 2%)))
Както беше споменато по-горе, горното ще върне същия резултат като първоначалната формула, която имахме.
= IF (D2 = "САЩ", Е2 * 10%, IF (D2 = "Австралия", Е2 * 5%, Е2 * 2%))
Бързи съвети
- За всеки един IF ( функция, трябва да има отваряща и затваряща кръгла скоба. Когато има три IF функции съгласно един от примерите по-горе, формулата ще се нуждае от три затварящи скоби “)))”, всяка от които маркира края на съответно отварящо IF ( изявление.
- Ако не определим втория резултат от логическия тест (когато логическият тест доведе до FALSE ), стойността по подразбиране, зададена от Excel, ще бъде текстът „FALSE“. Така формулата = IF (D2 = ”USA”, E2 * 10%) ще върне текста “FALSE”, ако D2 не е “USA” .
- Ако имате няколко различни логически теста всеки със свой различен резултат, можете да комбинирате / включите функцията IF многократно, една след друга, подобно на примера по-горе.