Как да използвате изявления 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%)

Разбивка на формулата:

  1. =IF(“=” показва началото на формула в клетката, а IF е функцията на excel, която използваме.
  2. D2=”USA”Логически(Logical) тест, който извършваме (т.е. ако данните в колона D2 са САЩ(USA) ).
  3.  E2*10%Резултат(Result) , който ще бъде върнат от формулата, ако първоначалният логически тест даде TRUE (т.е. стойността в колона D2 е САЩ(USA) ).
  4. E2*5%Резултат(Result) , който ще бъде върнат от формулата, ако първоначалният логически тест даде FALSE (т.е. стойността в колона D2 НЕ(NOT) е САЩ(USA) ).
  5. )Затваряща(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%))

Разбивка на формулата:

  1. =IF(Начало(Beginning) на формулата, използваща оператор IF
  2. D2=”USA”Първият(First) логически тест, който извършваме (т.е. ако данните в колона D2 са САЩ(USA) ).
  3.  E2*10%Резултат(Result) , който ще бъде върнат от формулата, ако първоначалният логически тест даде TRUE (т.е. стойността в колона D2 е САЩ(USA) ).
  4. 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%.
  5. )Затваряща(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 няколко пъти, един след друг, подобно на примера по-горе.



About the author

Аз съм компютърен инженер с над 10 години опит в софтуерната индустрия, по-специално в Microsoft Office. Написал съм статии и уроци по различни теми, свързани с Office, включително съвети как да използвам функциите му по-ефективно, трикове за овладяване на обичайните офис задачи и др. Моите умения като писател също ме правят отличен ресурс за други, които искат да научат за Office или просто се нуждаят от бърз съвет.



Related posts