Sadržaj
Vodič pokazuje kako kreirati više naredbi IF u Excelu sa AND i OR logikom. Također, naučit ćete kako koristiti IF zajedno s drugim Excel funkcijama.
U prvom dijelu našeg Excel IF tutorijala, pogledali smo kako konstruirati jednostavnu IF naredbu s jednim uvjetom za tekst, brojevi, datumi, prazna i neprazna polja. Za moćnu analizu podataka, međutim, možda ćete često morati procijeniti više uvjeta u isto vrijeme. Primeri formule u nastavku će vam pokazati najefikasnije načine da to uradite.
Kako koristiti IF funkciju sa više uslova
U suštini, postoje dve vrste IF formula sa više kriterijuma zasnovana na logici I/ILI . Shodno tome, u logičkom testu vaše IF formule, trebali biste koristiti jednu od ovih funkcija:
- AND funkcija - vraća TRUE ako su svi uslovi ispunjeni; FALSE inače.
- OR funkcija - vraća TRUE ako je bilo koji pojedinačni uvjet ispunjen; U suprotnom je FALSE.
Da bismo bolje ilustrirali poentu, istražimo neke primjere formula iz stvarnog života.
Excel IF naredba s više uslova (I logika)
generička formula Excel IF sa dva ili više uslova je sledeća:
IF(AND( uslov1, uslov2, …), value_if_true, value_if_false)Prevedeno na čoveka jeziku, formula kaže: Ako je uslov 1 tačan I uslov 2 istinit, vratite se vrijednost_ako_tačno ; else return value_if_false .
Pretpostavimo da imate tabelu koja navodi rezultate dva testa u kolonama B i C. Da bi položio završni ispit, student mora imati oba rezultata veća od 50.
Za logički test koristite sljedeću AND naredbu: AND(B2>50, C2>50)
Ako su oba uslova tačna, formula će vratiti "Pass"; ako je bilo koji uslov netačan - "Neuspješno".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Lako, zar ne? Snimak ekrana ispod dokazuje da naša Excel IF /AND formula radi ispravno:
Na sličan način, možete koristiti funkciju Excel IF sa više tekstualnih uslova .
Za na primjer, za izlaz "Dobro" ako su i B2 i C2 veći od 50, "Loše" u suprotnom, formula je:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Važna napomena! Funkcija AND provjerava sve uvjete , čak i ako su već testirani procijenjeni na FALSE. Takvo ponašanje je pomalo neobično jer se u većini programskih jezika naknadni uvjeti ne testiraju ako je bilo koji od prethodnih testova vratio FALSE.
U praksi, naizgled ispravna IF izjava može rezultirati greškom zbog ovoga specifičnost. Na primjer, formula ispod bi vratila #DIV/0! (greška "podijeli sa nulom") ako je ćelija A2 jednaka 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Da biste ovo izbjegli, trebali biste koristiti ugniježđenu IF funkciju:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
Za više informacija pogledajte IF AND formulu u Excelu.
Excel IF funkcija s višeuslovi (logika ILI)
Da uradite jednu stvar ako je bilo koji uslov ispunjen, u suprotnom uradite nešto drugo, koristite ovu kombinaciju funkcija IF i OR:
IF(OR( uvjet1 , uvjet2 , …), value_if_true, value_if_false)Razlika u odnosu na formulu IF / AND o kojoj smo gore govorili je u tome što Excel vraća TRUE ako je bilo koji od navedenih uslova istinit.
Dakle, ako u prethodnoj formuli koristimo ILI umjesto I:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Onda će svako ko ima više od 50 bodova na bilo kojem ispitu dobiti "Položio" u kolona D. Sa ovakvim uslovima naši studenti imaju veće šanse da polože završni ispit (Ivet je posebno nesrećna pala za samo 1 bod :)
Savjet. U slučaju da kreirate višestruku IF naredbu s tekstom i testirate vrijednost u jednoj ćeliji s logikom ILI (tj. ćelija može biti "ova" ili "ona"), tada možete napraviti kompaktniji formula koristeći konstantu niza.
Na primjer, da biste označili prodaju kao "zatvorenu" ako je ćelija B2 ili "isporučena" ili "plaćena", formula je:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Više primjera formule može se naći u Excel funkciji IF OR.
IF s višestrukim I & ILI izjave
Ako vaš zadatak zahtijeva procjenu nekoliko skupova višestrukih uslova, morat ćete koristiti oba I & ILI funkcije istovremeno.
U našoj tabeli uzorka, pretpostavimo da imate sljedeće kriterije za provjeru rezultata ispita:
- Uvjet 1:ispit1>50 i ispit2>50
- Uslov 2: ispit1>40 i ispit2>60
Ako je ispunjen bilo koji od uslova, završni ispit se smatra položenim.
Na prvi pogled formula izgleda malo zeznuta, ali zapravo nije! Svaki od gornjih uvjeta samo izrazite kao AND naredbu i ugnijezdite ih u funkciju OR (budući da nije potrebno ispuniti oba uvjeta, ni jedan će biti dovoljan):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Onda, koristite OR funkciju za logički test IF i dostavi željene vrijednosti value_if_true i value_if_false . Kao rezultat, dobijate sljedeću IF formulu sa više I / ILI uslova:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Snimak ekrana ispod pokazuje da smo formulu uradili ispravno:
Naravno , niste ograničeni na korištenje samo dvije funkcije I/ILI u vašim IF formulama. Možete ih koristiti onoliko koliko vaša poslovna logika zahtijeva, pod uslovom da:
- U Excelu 2007 i novijim verzijama nemate više od 255 argumenata, a ukupna dužina IF formule ne prelazi 8.192 karaktera.
- U Excel 2003 i starijim verzijama nema više od 30 argumenata, a ukupna dužina vaše IF formule ne prelazi 1.024 znaka.
Ugniježđena IF izjava u provjerite više logičkih testova
Ako želite procijeniti više logičkih testova unutar jedne formule, tada možete ugnijezditi nekoliko funkcija jednu u drugu. Takve funkcije se nazivaju ugniježđeneIF funkcije . Pokazuju se posebno korisnima kada želite da vratite različite vrijednosti u zavisnosti od rezultata logičkih testova.
Evo tipičnog primjera: pretpostavimo da želite kvalificirati postignuća učenika kao " Dobar ", " Zadovoljavajuće " i " Loše " na osnovu sljedećih ocjena:
- Dobro: 60 ili više (>=60)
- Zadovoljavajuće: između 40 i 60 (>40 i <60)
- Slabo: 40 ili manje (<=40)
Prije nego što napišete formulu, razmotrite redoslijed funkcija koje ćete ugnijezditi. Excel će procijeniti logičke testove redoslijedom kojim se pojavljuju u formuli. Jednom kada se stanje procijeni na TRUE, naredni uvjeti se ne testiraju, što znači da se formula zaustavlja nakon prvog TRUE rezultata.
U našem slučaju, funkcije su raspoređene od najveće do najmanje:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Naravno, možete ugnijezditi više funkcija ako je potrebno (do 64 u modernim verzijama).
Za više informacija, pogledajte Kako koristiti više ugniježđenih IF izraza u Excelu.
Excel IF formula polja s više uslova
Još jedan način da dobijete Excel IF za testiranje višestruki uvjeti su korištenjem formule niza.
Da biste procijenili uslove pomoću AND logike, koristite zvjezdicu:
IF( uvjet1 ) * ( uvjet2 ) * …, value_if_true, value_if_false)Da biste testirali uslove sa OR logikom, koristite znak plus:
IF( uslov1 ) + ( uslov2 ) + …,value_if_true, value_if_false)Da biste ispravno dovršili formulu niza, pritisnite zajedno tipke Ctrl + Shift + Enter. U Excel 365 i Excel 2021, ovo također radi kao redovna formula zbog podrške za dinamičke nizove.
Na primjer, da biste dobili "Prolaz" ako su i B2 i C2 veći od 50, formula je:
=IF((B2>50) * (C2>50), "Pass", "Fail")
U mom Excel 365, normalna formula radi sasvim dobro (kao što možete vidjeti na gornjim snimcima ekrana). U programu Excel 2019 i starijim verzijama, ne zaboravite da napravite formulu niza koristeći prečicu Ctrl + Shift + Enter.
Da biste procijenili više uslova pomoću ILI logike, formula je:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Korišćenje IF zajedno s drugim funkcijama
Ovaj odjeljak objašnjava kako koristiti IF u kombinaciji s drugim Excel funkcijama i koje prednosti vam to daje.
Primjer 1. Ako #N /Greška u VLOOKUP
Kada VLOOKUP ili druga funkcija pretraživanja ne može pronaći nešto, vraća grešku #N/A. Da bi vaše tabele izgledale ljepše, možete vratiti nulu, prazan ili određeni tekst ako je #N/A. Za ovo koristite ovu generičku formulu:
IF(ISNA(VLOOKUP(…)), value_if_na , VLOOKUP(…))Na primjer:
Ako #N/ Povratak 0:
Ako vrijednost pretraživanja u E1 nije pronađena, formula vraća nulu.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Ako #N/A vrati prazno:
Ako se tražena vrijednost ne pronađe, formula ne vraća ništa (prazan niz).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Ako #N/A vrati određeni tekst:
Ako vrijednost pretraživanja nije pronađena,formula vraća određeni tekst.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Za više primjera formule, pogledajte VLOOKUP sa IF naredbom u Excelu.
Primjer 2. IF sa SUM, AVERAGE, MIN i MAX funkcije
Da bi se zbrojile vrijednosti ćelije na osnovu određenih kriterija, Excel pruža funkcije SUMIF i SUMIFS.
U nekim situacijama, vaša poslovna logika može zahtijevati uključivanje funkcije SUM u logički test IF. Na primjer, da biste vratili različite tekstualne oznake ovisno o zbroju vrijednosti u B2 i C2, formula je:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Ako je zbroj veći od 130, rezultat je "dobar "; ako je veći od 110 – "zadovoljavajući", ako je 110 ili manji - "loš".
Na sličan način, možete ugraditi funkciju AVERAGE u logički test IF i vratiti različite oznake na osnovu prosječne ocjene :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Pod pretpostavkom da je ukupan rezultat u koloni D, možete identificirati najviše i najniže vrijednosti uz pomoć MAX i MIN funkcija:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Da biste imali obje oznake u jednom stupcu, ugnijezdite gore navedene funkcije jednu u drugu:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
Slično, možete koristiti IF zajedno sa svojim prilagođenim funkcije. Na primjer, možete ga kombinirati s GetCellColor ili GetCellFontColor da biste vratili različite rezultate na osnovu boje ćelije.
Osim toga, Excel pruža niz funkcija za izračunavanje podataka na osnovu uslova. Za detaljne primjere formule, molimo pogledajte sljedećetutorijali:
- COUNTIF - broj ćelija koje ispunjavaju uvjet
- COUNTIFS - brojanje ćelija s više kriterija
- SUMIF - uvjetno zbroj ćelija
- SUMIFS - ćelije zbroja s više kriterija
Primjer 3. IF sa ISNUMBER, ISTEXT i ISBLANK
Za identifikaciju teksta, brojeva i praznih ćelija, Microsoft Excel pruža posebne funkcije kao što su ISTEXT, ISNUMBER i ISBLANK. Postavljanjem u logičke testove tri ugniježđena IF izraza, možete identificirati sve različite tipove podataka u jednom potezu:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Primjer 4. IF i CONCATENATE
To ispišite rezultat IF i neki tekst u jednu ćeliju, koristite funkcije CONCATENATE ili CONCAT (u Excel 2016 - 365) i IF zajedno. Na primjer:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Gledajući snimak ekrana ispod, teško da će vam trebati ikakvo objašnjenje šta formula radi:
IF ISERROR / ISNA formula u Excelu
Moderne verzije Excela imaju posebne funkcije za hvatanje grešaka i njihovo zamjenu drugim proračunom ili unaprijed definiranom vrijednošću - IFERROR (u Excel 2007 i novijim) i IFNA (u Excel 2013 i novijim). U ranijim verzijama Excela, umjesto toga možete koristiti kombinacije IF ISERROR i IF ISNA.
Razlika je u tome što IFERROR i ISERROR obrađuju sve moguće greške Excela, uključujući #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0!, i #NULL!. Dok su IFNA i ISNA specijalizirane isključivo za #N/A greške.
Na primjer, dazamijenite grešku "podijeli sa nulom" (#DIV/0!) svojim prilagođenim tekstom, možete koristiti sljedeću formulu:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
I to je sve što imam da kažem o korištenju IF funkcija u Excelu. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
Vježbanje za preuzimanje
Excel IF više kriterija - primjeri (.xlsx fajl)