Преглед садржаја
Водич показује како да направите више ИФ наредби у Екцел-у са АНД и ОР логиком. Такође, научићете како да користите ИФ заједно са другим Екцел функцијама.
У првом делу нашег водича за Екцел ИФ, погледали смо како да конструишемо једноставну ИФ изјаву са једним условом за текст, бројеви, датуми, празна и непразна поља. Међутим, за моћну анализу података, можда ћете често морати да процените више услова истовремено. Примери формуле у наставку ће вам показати најефикасније начине да то урадите.
Како користити ИФ функцију са више услова
У суштини, постоје две врсте ИФ формула са више критеријума заснована на логици И/ИЛИ . Сходно томе, у логичком тесту ваше ИФ формуле, требало би да користите једну од ових функција:
- И функција - враћа ТРУЕ ако су сви услови испуњени; ФАЛСЕ иначе.
- ОР функција - враћа ТРУЕ ако је било који појединачни услов испуњен; У супротном је ФАЛСЕ.
Да бисмо боље илустровали поенту, хајде да истражимо неке примере формула из стварног живота.
Екцел ИФ изјава са више услова (И логика)
генеричка формула Екцел ИФ са два или више услова је следећа:
ИФ(И( услов1, услов2, …), валуе_иф_труе, валуе_иф_фалсе)Преведено на човека језику, формула каже: Ако је услов 1 тачан И услов 2 је тачан, вратите валуе_иф_труе ; елсе ретурн валуе_иф_фалсе .
Претпоставимо да имате табелу у којој су наведени резултати два теста у колонама Б и Ц. Да би положио завршни испит, студент мора имати оба резултата већа од 50.
За логички тест користите следећу АНД наредбу: АНД(Б2&гт;50, Ц2&гт;50)
Ако су оба услова тачна, формула ће вратити „Прошао“; ако је било који услов нетачан - "Неуспешно".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Лако, зар не? Снимак екрана у наставку доказује да наша Екцел ИФ /АНД формула ради исправно:
На сличан начин, можете користити Екцел ИФ функцију са више текстуалних услова .
За на пример, за излаз "Добро" ако су и Б2 и Ц2 већи од 50, "Лоше" у супротном, формула је:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Важна напомена! Функција АНД проверава све услове , чак и ако је већ тестиран(и) процењен на ФАЛСЕ. Такво понашање је помало необично јер се у већини програмских језика наредни услови не тестирају ако је било који од претходних тестова вратио ФАЛСЕ.
У пракси, наизглед исправна ИФ изјава може довести до грешке због овога специфичност. На пример, формула испод би вратила #ДИВ/0! (грешка „подели са нулом“) ако је ћелија А2 једнака 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Да бисте ово избегли, требало би да користите угнежђену ИФ функцију:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
За више информација погледајте формулу ИФ И у Екцел-у.
Екцел ИФ функција са вишеуслови (логика ИЛИ)
Да бисте урадили једну ствар ако је било који услов испуњен, у супротном урадите нешто друго, користите ову комбинацију функција ИФ и ОР:
ИФ(ОР( услов1 , услов2 , …), валуе_иф_труе, валуе_иф_фалсе)Разлика у односу на формулу ИФ/АНД о којој смо горе говорили је у томе што Екцел враћа ТРУЕ ако је било који од наведених услова тачан.
Дакле, ако у претходној формули користимо ИЛИ уместо И:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Онда ће свако ко има више од 50 поена на било ком испиту добити „Положио“ колона Д. Са оваквим условима наши студенти имају веће шансе да положе завршни испит (Ивет није имала среће јер је пала за само 1 поен :)
Савет. У случају да креирате вишеструку ИФ наредбу са текстом и тестирате вредност у једној ћелији помоћу ИЛИ логике (тј. ћелија може бити „ова” или „она”), тада можете да направите компактнији формула помоћу константе низа.
На пример, да бисте означили продају као „затворену“ ако је ћелија Б2 или „испоручена“ или „плаћена“, формула је:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Више примера формула може се наћи у Екцел функцији ИФ ОР.
ИФ са вишеструким И &амп; ИЛИ искази
Ако ваш задатак захтева процену неколико скупова више услова, мораћете да користите оба И &амп; ИЛИ функционише истовремено.
У нашој табели узорка, претпоставимо да имате следеће критеријуме за проверу резултата испита:
- Услов 1:испит1>50 и испит2>50
- Услов 2: испит1>40 и испит2>60
Ако је испуњен било који од услова, завршни испит се сматра положеним.
На први поглед, формула делује мало незгодно, али у ствари није! Сваки од горњих услова само изразите као И наредбу и угнездите их у функцију ИЛИ (пошто није неопходно испунити оба услова, било који од њих ће бити довољан):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Онда, користите функцију ОР за логички тест ИФ и обезбеди жељене вредности валуе_иф_труе и валуе_иф_фалсе . Као резултат, добијате следећу ИФ формулу са више И / ИЛИ услова:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Снимак екрана испод показује да смо формулу урадили исправно:
Наравно , нисте ограничени на коришћење само две функције И/ИЛИ у вашим ИФ формулама. Можете их користити онолико колико ваша пословна логика захтева, под условом да:
- У Екцел 2007 и новијим верзијама немате више од 255 аргумената, а укупна дужина ИФ формуле не прелази 8.192 карактера.
- У Екцел 2003 и старијим верзијама нема више од 30 аргумената, а укупна дужина ваше ИФ формуле не прелази 1.024 знака.
Угнежђена ИФ изјава у проверите више логичких тестова
Ако желите да процените више логичких тестова у оквиру једне формуле, можете да угнездите неколико функција једну у другу. Такве функције се називају угнежђенеИФ функције . Они се показују посебно корисни када желите да вратите различите вредности у зависности од резултата логичких тестова.
Ево типичног примера: претпоставимо да желите да квалификујете постигнућа ученика као " Добар ", „ Задовољавајуће “ и „ Лоше “ на основу следећих оцена:
- Добро: 60 или више (&гт;=60)
- Задовољавајуће: између 40 и 60 (&гт;40 и <60)
- Лоше: 40 или мање (&лт;=40)
Пре него што напишете формулу, размотрите редослед функција које ћете угнездити. Екцел ће проценити логичке тестове редоследом којим се појављују у формули. Једном када се услов процијени на ТРУЕ, наредни услови се не тестирају, што значи да се формула зауставља након првог ТРУЕ резултата.
У нашем случају, функције су распоређене од највеће до најмање:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Наравно, можете угнездити више функција ако је потребно (до 64 у модерним верзијама).
За више информација погледајте Како користити више угнежђених ИФ израза у Екцел-у.
Екцел ИФ формула низа са више услова
Још један начин да добијете Екцел ИФ за тестирање више услова је коришћењем формуле низа.
Да бисте проценили услове помоћу АНД логике, користите звездицу:
ИФ( услов1 ) * ( услов2 ) * …, валуе_иф_труе, валуе_иф_фалсе)Да бисте тестирали услове помоћу ИЛИ логике, користите знак плус:
ИФ( услов1 ) + ( услов2 ) + …,валуе_иф_труе, валуе_иф_фалсе)Да бисте правилно довршили формулу низа, притисните заједно тастере Цтрл + Схифт + Ентер. У Екцел 365 и Екцел 2021, ово такође функционише као редовна формула због подршке за динамичке низове.
На пример, да бисте добили „Пролаз“ ако су и Б2 и Ц2 већи од 50, формула је:
=IF((B2>50) * (C2>50), "Pass", "Fail")
У мом Екцел 365, нормална формула функционише сасвим добро (као што можете видети на снимцима екрана изнад). У програму Екцел 2019 и старијим верзијама, не заборавите да направите формулу низа користећи пречицу Цтрл + Схифт + Ентер.
Да бисте проценили више услова помоћу ИЛИ логике, формула је:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Коришћење ИФ заједно са другим функцијама
Овај одељак објашњава како да користите ИФ у комбинацији са другим Екцел функцијама и које предности вам ово даје.
Пример 1. Ако #Н /Грешка у ВЛООКУП
Када ВЛООКУП или друга функција тражења не може да пронађе нешто, враћа грешку #Н/А. Да би ваше табеле изгледале лепше, можете да вратите нулу, празан или одређени текст ако је #Н/А. За ово користите ову генеричку формулу:
ИФ(ИСНА(ВЛООКУП(…)), валуе_иф_на , ВЛООКУП(…))На пример:
Ако #Н/ Повратак 0:
Ако се тражена вредност у Е1 не пронађе, формула враћа нулу.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Ако #Н/А врати празно:
Уколико тражена вредност није пронађена, формула не враћа ништа (празан стринг).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Ако #Н/А врати одређени текст:
Ако вредност тражења није пронађена, тхеформула враћа одређени текст.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
За више примера формуле, погледајте ВЛООКУП са ИФ наредбом у Екцел-у.
Пример 2. ИФ са ЗБИРОМ, ПРОСЕКОМ, МИН. и МАКС. функције
Да би се сумирале вредности ћелија на основу одређених критеријума, Екцел обезбеђује функције СУМИФ и СУМИФС.
У неким ситуацијама, ваша пословна логика може захтевати укључивање функције СУМ у логички тест ИФ. На пример, да бисте вратили различите текстуалне ознаке у зависности од збира вредности у Б2 и Ц2, формула је:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Ако је збир већи од 130, резултат је „добар "; ако је већи од 110 – „задовољавајући“, ако је 110 или мањи – „лош“.
На сличан начин, можете да уградите функцију АВЕРАГЕ у логички тест ИФ и вратите различите ознаке на основу просечног резултата :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Под претпоставком да је укупан резултат у колони Д, можете идентификовати највише и најниже вредности уз помоћ МАКС и МИН функција:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Да бисте имали обе ознаке у једној колони, угнездите горе наведене функције једну у другу:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
Слично, можете користити ИФ заједно са својим прилагођеним функције. На пример, можете да га комбинујете са ГетЦеллЦолор или ГетЦеллФонтЦолор да бисте вратили различите резултате на основу боје ћелије.
Поред тога, Екцел обезбеђује бројне функције за израчунавање података на основу услова. За детаљне примере формуле, погледајте следећеупутства:
- ЦОУНТИФ - број ћелија које испуњавају услов
- ЦОУНТИФС - бројање ћелија са више критеријума
- СУМИФ - условно збир ћелија
- СУМИФС - ћелије са више критеријума
Пример 3. ИФ са ИСНУМБЕР, ИСТЕКСТ и ИСБЛАНК
Да би се идентификовао текст, бројеви и празне ћелије, Мицрософт Екцел обезбеђује посебне функције као што су ИСТЕКСТ, ИСНУМБЕР и ИСБЛАНК. Постављањем у логичке тестове три угнежђене ИФ изјаве, можете идентификовати све различите типове података у једном потезу:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Пример 4. ИФ и ЦОНЦАТЕНАТЕ
То избаците резултат ИФ и неки текст у једну ћелију, користите функције ЦОНЦАТЕНАТЕ или ЦОНЦАТ (у Екцел 2016 - 365) и ИФ заједно. На пример:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Гледајући снимак екрана испод, тешко да ће вам требати икакво објашњење шта формула ради:
АКО ЈЕ ГРЕШКА / ИСНА формула у Екцел-у
Савремене верзије Екцел-а имају посебне функције за хватање грешака и њихово замену другим прорачуном или унапред дефинисаном вредношћу – ИФЕРРОР (у Екцел 2007 и новијим) и ИФНА (у Екцел 2013 и новијим). У ранијим верзијама Екцел-а, уместо тога можете да користите комбинације ИФ ИСЕРРОР и ИФ ИСНА.
Разлика је у томе што ИФЕРРОР и ИСЕРРОР обрађују све могуће грешке у Екцел-у, укључујући #ВАЛУЕ!, #Н/А, #НАМЕ?, #РЕФ!, #НУМ!, #ДИВ/0!, и #НУЛЛ!. Док су ИФНА и ИСНА специјализоване искључиво за #Н/А грешке.
На пример, дазамените грешку „подели са нулом“ (#ДИВ/0!) својим прилагођеним текстом, можете користити следећу формулу:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
И то је све што имам да кажем о коришћењу ИФ функција у Екцел-у. Захваљујем вам на читању и надам се да се видимо на нашем блогу следеће недеље!
Вежбање за преузимање
Екцел ИФ више критеријума – примери (.клск датотека)