Funkcija IF – ugnežđene formule i izbegavanje grešaka
Primenjuje se na
Excel za Microsoft 365 Excel za Microsoft 365 za Mac Excel za veb Excel 2024 Excel 2024 za Mac Excel 2021 Excel 2021 za Mac Excel 2019 Excel 2016 Excel Web App Excel za Windows Phone 10

Funkcija IF vam omogućava da logički uporedite vrednost i ono što očekujete tako što testira stanje i vraća rezultat ako je ishod True ili False.

  • =IF(nešto ima vrednost True, uradite nešto, u suprotnom uradite nešto drugo)

Stoga, IF izjava može da ima dva rezultata. Prvi rezultat označava da li je poređenje tačno, a drugi da li je netačno.

IF izjave su veoma robusne i predstavljaju osnov velikog broja modela unakrsnih tabela, ali su i osnovni uzrok mnogo problema sa unakrsnim tabelama. U idealnom slučaju IF izjava treba da se odnosi na minimalne uslove, kao što su, recimo, muško/žensko, da/ne/možda, ali ponekad ćete možda morati da procenite složenije scenarije koji zahtevaju da zajedno ugnezdite* više od 3 IF funkcije.

* "Ugnežđivanje" se odnosi na praksu spajanja više funkcija u jednoj formuli.

Koristite funkciju IF, jednu od logičkih funkcija, da biste vratili jednu vrednost ako je uslov ispunjen, a drugu vrednost ako nije.

Sintaksa

IF(logički_test, vrednost_ako_je_tačno, [vrednost_ako_je_netačno])

Na primer:

  • =IF(A2>B2,„Prekoračen budžet“,„U redu“)

  • =IF(A2=B2,B4-A4,"")

Ime argumenta

Opis

logički_test   

(obavezno)

Uslov koji želite da testirate.

vrednost_ako_je_true   

(obavezno)

Vrednost koja želite da se vrati ako logički_tekst ima rezultat TRUE.

vrednost_ako_je_false   

(opcionalno)

Vrednost koja želite da se vrati ako logički_tekst ima rezultat FALSE.

Napomene

Iako Excel omogućava da ugnezdite do 64 različite IF funkcije, to se ne preporučuje. Zašto?

  • Više IF izjava zahteva dosta razmišljanja da biste ih pravilno napravili i utvrdili da li njihova logika može ispravno da izračuna svaki uslov do samog kraja formule. Ako formulu ne ugnezdite 100% tačno, ona će možda funkcionisati u 75% vreme, ali će u 25% vremena vratiti neočekivane rezultate. Nažalost, veoma su male šanse da ćete primetiti tih 25% neočekivanih rezultata.

  • Veliki broj IF izjava može biti izuzetno težak za održavanje, posebno ako se na njih vratite nakon nekog vremena i pokušate da shvatite šta ste vi, ili još gore neko drugi, želeli da postignete.

Ako imate IF izjavu koja izgleda da raste bez ičega, vreme je da spustite miš i da ponovo proučite strategiju.

Hajde da pogledamo kako da ispravno kreirate kompleksnu ugnežđenu IF izjavu pomoću više IF-a i kada da prepoznate da je vreme da koristite drugu alatku u Excel arsenalu.

Primeri

Sledi primer relativno standardne ugnežđene IF izjave koja konvertuje rezultate sa učeničkih testova u ocenu u obliku slova.

Složeni ugnežđen IF izraz – formula u ćeliji E2 jeste =IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-",IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))
  • =IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

    Ova kompleksna ugnežđena IF izjava prati jednostavnu logiku:

  1. Ako je rezultat na testu (u ćeliji D2) veći od 89, učenik dobija A

  2. Ako je rezultat na testu veći od 79, učenik dobija B

  3. Ako je rezultat na testu veći od 69, učenik dobija C

  4. Ako je rezultat na testu veći od 59, učenik dobija D

  5. U drugim slučajevima, učenik dobija F

Ovaj konkretni primer je relativno bezbedan jer se verovatno neće promeniti korelacija između rezultata na testu i ocene na testu, tako da neće zahtevati previše održavanja. Ali, evo neke misao – šta ako treba da segmentišete ocene između A+, A i A- (i tako dalje)? Sada ovu IF izjavu sa četiri uslova treba da prepišete da biste dobili 12 uslova! Evo kako bi sada izgledala vaša formula:

  • =IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-", IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))

I dalje je funkcionalno tačan i radiće na očekivani način, ali pisanje i duže testiranje traje kako biste se uverili da radi ono što želite. Još jedan veliki problem je to što ste ručno morali da unesete ocene i jednake ocene. Kakve su љanse da жeљ sluиajno imati kucanje? Zamislite sada da ovo morate da uradite 64 puta sa kompleksnijim uslovima! Moguće je, ali da li zaista želite da podležete takvoj vrsti napora i verovatno grešaka koje ćete zaista teško uočiti?

Savet: Svaka funkcija u programu Excel zahteva otvorenu i zatvorenu zagradu (). Excel će pokušati da vam pomogne da shvatite šta gde ide tako što će oslanjati različite delove formule dok je uređujete. Na primer, ako treba da uredite gorenavedene formule, dok pomerate kursor pored svake završne zagrade ")", odgovarajuća otvorena zagrada će se promeniti u istu boju. To može biti naročito korisno u složenim ugnežđenim formulama kada pokušavate da otkrijete da li imate dovoljno podudarnih zagrada.

Dodatni primeri

Sledi veoma čest primer izračunavanja provizije na prodaju na osnovu dostignutog nivoa prihoda.

Formula u ćeliji D9 jeste IF(C9>15000,20%,IF(C9>12500,17,5%,IF(C9>10000,15%,IF(C9>7500,12,5%,IF(C9>5000,10%,0)))))
  • =IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))

Ova formula kaže: AKO(C9 je veće od 15.000, prikaži 20%, AKO(C9 je veće od 12.500, prikaži 17,5% itd...

Iako je veoma slična prethodnom primeru sa ocenama, ova formula je odličan primer koliko održavanje velikih IF izjava može biti teško – šta bi trebalo da uradite ako bi vaša organizacija odlučila da doda nove nivoe kompeencije i možda čak i promeni postojeće vrednosti dolara ili procenata? Imaćete mnogo posla!

Savet: Možete da umetnete prelome reda u polje za formulu da bi dugačke formule bile lakše za čitanje. Pritisnite kombinaciju tastera ALT+ENTER pre teksta koji želite da prebacite u novi red.

Evo primera sa izračunavanjem provizije u kojem logika nije na mestu:

Formula u ćeliji D9 ima pogrešan redosled =IF(C9>5000,10%,IF(C9>7500,12,5%,IF(C9>10000,15%,IF(C9>12500,17,5%,IF(C9>15000,20%,0)))))

Moћeљ li da vidiљ љta nije u redu? Uporedite redosled poređenja prihoda sa prethodnim primerom. U kom smeru se ovaj kreće? Tako je, kretaće se odozdo nagore (od 5.000 USD do 15.000 USD), a ne u drugom uglu. Ali, zašto je to toliko veliki problem? To je velika stvar jer formula ne može da prođe prvu procenu ni za koju vrednost veću od 5.000 USD. Recimo da imate prihod od 12.500 USD – IF izjava će vratiti 10% jer je veća od 5000 USD i tu će stati. To može biti neverovatno problematično jer u mnogim situacijama ovakve greške ne budu zanemaćene dok ne imaju negativan uticaj. Pošto znate da rad sa kompleksnim ugnežđenim IF izjavama sadrži neke ozbiljne zamke, šta možete da uradite? U većini slučajeva možete da koristite funkciju VLOOKUP umesto da pravite kompleksnu formulu pomoću funkcije IF. Kada koristite VLOOKUP, prvo morate da napravite referentnu tabelu:

Formula u ćeliji D2 jeste =VLOOKUP(C2,C5:D17,2,TRUE)
  • =VLOOKUP(C2,C5:D17,2,TRUE)

Ova formula kaže da treba tražiti vrednost iz ćelije C2 u opsegu C5:C17. Ako se vrednost pronađe, vraća se odgovarajuća vrednost iz istog reda u koloni D.

Formula u ćeliji C9 jeste =VLOOKUP(B9,B2:C6,2,TRUE)
  • =VLOOKUP(B9,B2:C6,2,TRUE)

Slično tome, ova formula traži vrednost iz ćelije B9 u opsegu B2:B22. Ako se vrednost pronađe, vraća se odgovarajuća vrednost iz istog reda u koloni C.

Napomena: Obe ove VLOOKUP funkcije koriste argument TRUE pri kraju formula, što znači da želimo da traže približno podudaranje. Drugim rečima, pronaći će tačne vrednosti u tabeli za pronalaženje, kao i sve vrednosti koje su između njih. U ovom slučaju tabele za pronalaženje treba sortirati po rastućem redosledu, od najmanje do najveće.

Ovde je mnogo detaljnije objašnjeno VLOOKUP , ali ovo je sigurno mnogo jednostavnije od kompleksne ugnežđene IF izjave od 12 nivoa! Postoje i neke druge, manje očigledne, prednosti:

  • VLOOKUP referentne tabele su otvorene i lako ih je pregledati.

  • Vrednosti u tabeli se lako mogu ažurirati i nikada ne morate da menjate formulu ako se uslovi promene.

  • Ako ne želite da ljudi vide ili ometaju referentnu tabelu, samo je stavite na drugi radni list.

Da li ste znali?

Sada postoji funkcija IFS koja može da zameni više ugrađenih IF izjava jednom funkcijom. Na osnovu toga bismo prvi primer sa ocenama, koji ima 4 ugnežđene IF funkcije,

  • =IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

mogli znatno da pojednostavimo jednom IFS funkcijom:

  • =IFS(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")

Funkcija IFS je odlična zato što ne morate da brinete o svim tim IF izjavama i zagradama.

Napomena: Ova funkcija je dostupna samo ako imate pretplatu na Microsoft 365. Ako steMicrosoft 365pretplaćeni,uverite se da imate najnoviju verziju sistema Office.Kupite ili isprobajte Microsoft 365

Potrebna vam je dodatna pomoć?

Možete uvek da postavite pitanje stručnjaku u Excel Tech zajednici ili da potražite pomoć u Zajednicama.

Srodne teme

IFS (Microsoft 365, Excel 2016 i novije verzije)Funkcija COUNTIF će računati vrednosti na osnovu jednog kriterijumaFunkcija COUNTIFS prebrojava vrednosti na osnovu više kriterijuma SUMIF će sabrati vrednosti na osnovu jednog kriterijuma SUMIFS funkcija će sabrati vrednosti na osnovu više kriterijuma FunkcijaANDOR FunkcijaVLOOKUP Pregled formula u programuExcel Kako izbeći neispravne formule Otkrijte greške uformulama Logičkefunkcije Excel funkcije (abecednim redom)Excel funkcije (po kategoriji)

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.