Funkcija IF omogućuje logično uspoređivanje vrijednosti i očekivane vrijednosti testiranjem uvjeta i prikazom rezultata ako je ishod ima vrijednost True ili False.
-
=IF(ako nešto ima vrijednost True (istinito), učini jednu radnju, a ako nije istinito, učini drugu radnju)
Stoga funkcija IF može imati dva rezultata. Prvi će se rezultat prikazati ako je usporedba True (istinita), a drugi ako je usporedba False (neistinita).
Naredbe IF nevjerojatno su robusne i čine osnovu mnogih modela proračunskih tablica, ali i uzrok su mnogih problema s proračunskim tablicama. Naredba IF bi, u idealnom slučaju, primijenila minimalne uvjete, kao što su Muško/Žensko, Da/Ne/Možda, ali ponekad ćete morati procijeniti kompleksnije scenarije za koje je potrebno ugnijezditi* više od 3 funkcije IF zajedno.
* "Ugniježđenje" odnosi se na praksu spajanja više funkcija u jednoj formuli.
Funkciju IF, jednu od logičkih funkcija, koristite da biste dobili jednu vrijednost ako je uvjet ispunjen (true), a drugu ako nije (false).
Sintaksa
IF(logički_test; vrijednost_ako_je_true; [vrijednost_ako_je_false])
Na primjer:
-
=IF(A2>B2;"Izvan okvira proračuna";"U redu")
-
=IF(A2=B2;B4-A4;"")
Naziv argumenta |
Opis |
logički_test (obavezno) |
Uvjet koji ispitujete. |
vrijednost_ako_je_true (obavezno) |
Vrijednost koju želite da funkcija vrati ako je rezultat argumenta logički_test TRUE. |
vrijednost_ako_je_false (neobavezno) |
Vrijednost koju želite da funkcija vrati ako je rezultat argumenta logički_test FALSE. |
Napomene
Premda će vam Excel omogućiti ugniježđenje do 64 različite funkcije IF, to se ne preporučuje. Zašto?
-
Za višestruke naredbe IF potrebna je mnogo misli da bi se ispravno izgradile i provjerite može li njihova logika ispravno izračunati svaki uvjet do kraja. Ako formulu ne ugnijezdite točno 100%, možda će funkcionirati 75 % vremena, ali će neočekivane rezultate vratiti 25 % vremena. Naћalost, љanse da naiљeљ na 25% su male.
-
Održavanje višestrukih naredbi IF može postati nevjerojatno složeno, posebno kada se vratite nakon nekog vremena i pokušate shvatiti što ste vi ili, još gore, netko drugi, pokušali učiniti.
Ako pronađete sebe s IF izjavu koja samo čini se da bi raste bez kraja na očima, to je vrijeme da spusti miš i promišljanja svoju strategiju.
Pogledajmo kako pravilno stvoriti složenu ugniježđen IF naredbu pomoću više IFS-ova, a kada prepoznati da je vrijeme da koristite drugi alat u arsenalu programa Excel.
Primjeri
Slijedi primjer relativno standardne ugniježđene naredbe IF za pretvaranje rezultate testova učenika u ekvivalent slovne ocjene.
-
=IF(D2>89;"A";IF(D2>79;"B";IF(D2>69;"C";IF(D2>59;"D";"F"))))
Ova kompleksna ugniježđena IF naredba slijedi izravnu logiku:
-
Ako je Rezultat testa (u ćeliji D2) veći od 89, učenik će dobiti ocjenu A
-
Ako je Rezultat testa (u ćeliji D2) veći od 79, učenik će dobiti ocjenu B
-
Ako je Rezultat testa (u ćeliji D2) veći od 69, učenik će dobiti ocjenu C
-
Ako je Rezultat testa (u ćeliji D2) veći od 59, učenik će dobiti ocjenu D
-
Učenik će u suprotnom dobiti ocjenu F
Ovaj je primjer relativno siguran jer nije vjerojatno da će se promijeniti korelacija između rezultata testa i ocjena slova, pa neće biti potrebno mnogo održavanja. No evo i jedne misli – što ako trebate segmentiranje ocjena između A+, A i A- (i tako dalje)? Sada je vašu IF naredbu s četiri stupnja potrebno ponovno napisati tako da ima 12 stupnjeva! Evo kako bi formula sada trebala izgledati:
-
=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 točna i funkcionirat će prema očekivanjima, no pisanje i dulje testiranje traje dulje da bi se provjerilo radi li ono što želite. Drugi je problem u tome što ste ručno morali unijeti rezultate i ekvivalentne ocjene slova. Koji su izgledi da ćete slučajno imati tipfeler? Sada zamislite da to morate napraviti 64 puta uz mnogo složenije uvjete! Naravno, moguće je, ali želite li se zaista podložiti ovoj vrsti truda i vjerojatnih pogrešaka koje će biti teško uočiti?
Savjet: Za svaku su funkciju u programu Excel potrebne lijeva i desna zagrada (). Excel će vam pokušati pomoći da otkrijete što se događa bojanjem različitih dijelova formule prilikom uređivanja. Ako ste, primjerice, uredili gornju formulu, dok pomičete pokazivač iznad svake završne zagrade ")", odgovarajuća otvorena zagrada pretvorit će istu boju. To može biti osobito korisno u složenim ugniježđenim formulama kada pokušavate saznati imate li dovoljno podudarnih zagrada.
Dodatni primjeri
U nastavku su navedeni vrlo općeniti primjeri izračuna Provizije prodaje na temelju razina ostvarenog Prihoda.
-
=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 IF(C9 je veće od 15 000 prikazat će se vrijednost od 20%, IF(C9 je veće od 12 500, prikazat će se vrijednost od 17,5% itd...
Iako je vrlo slična prethodnom primjeru ocjena, ova je formula odličan primjer koliko je teško održavati velike if iskaze – što trebate učiniti ako vaša tvrtka ili ustanova odluči dodati nove razine kompenzacije, a možda čak i promijeniti postojeće vrijednosti dolara ili postotka? Imali biste mnogo posla na rukama!
Savjet: U traku za formulu možete unijeti prijelome redaka da biste jednostavnije čitali duge formule. Jednostavno pritisnite kombinaciju tipku ALT + ENTER ispred teksta koji želite prelomiti u novi redak.
Ovo je primjer scenarija provizije s neispravnom logikom:
Možete li vidjeti što nije u redu? Usporedite redoslijed usporedba prihoda s prethodnim primjerom. Kojim putem ovo ide? Tako je, ide odozdo prema gore (5000 do 15 000 usd), a ne na drugi način. Ali zašto bi to trebalo biti tako velika stvar? To je velika stvar jer formula ne može proći prvu procjenu za bilo koju vrijednost veću od 5000 USD. Pretpostavimo da imate 12 500 USD prihoda – naredba IF vratit će 10% jer je veća od 5000 USD i tamo će se zaustaviti. To može biti nevjerojatno problematično jer u mnogim situacijama te vrste pogrešaka ne zapamte sve dok ne dodu do negativnog utjecaja. Dakle, znajući da postoje neke ozbiljne zamke sa složenim ugniježđenim IF izjavama, što možete učiniti? U većini slučajeva umjesto složene formule pomoću funkcije IF možete koristiti funkciju VLOOKUP. Pomoću funkcije VLOOKUP najprije morate stvoriti referentnu tablicu:
-
=VLOOKUP(C2;C5:D17;2;TRUE)
Formula kaže da potražite vrijednosti u ćeliji C2 u rasponu C5:C17. Ako ste vrijednost pronašli, vratite se na odgovarajuću vrijednost iz istog retka u stupcu D.
-
=VLOOKUP(B9;B2:C6;2;TRUE)
Formula na sličan način traži vrijednost u ćeliji B9 u rasponu B2:B22. Ako ste vrijednost pronašli, vratite se na odgovarajuću vrijednost iz istog retka u stupcu C.
Napomena: Obje formule VLOOKUP koriste argument TRUE na kraju formule, što znači da želimo da potraže odgovarajući podudarni rezultat. Drugim riječima, podudarat će se s odgovarajućim vrijednostima u tablici s vrijednostima te svim vrijednostima koje se nalaze između njih. U ovom je slučaju tablice s vrijednostima potrebno sortirati uzlaznim redoslijedom, od najmanje prema najvećoj.
VLOOKUP je ovdje puno detaljnije opisan, no to je puno jednostavnije od složene ugniježđene naredbe IF od 12 razina! Postoje i manje očite prednosti:
-
Referentne tablice za VLOOKUP pristupačne su i pregledne.
-
Vrijednosti tablice mogu se jednostavno ažurirati te nikada nećete morati dirati formulu ako se uvjeti promjene.
-
Ako ne želite da drugi vide referentnu tablicu ili da ometaju vašu referentnu tablicu, samo je stavite na drugi radni list.
Jeste li znali?
Sada je na raspolaganjuIFS funkcija koja može zamijeniti više ugniježđenih IF naredbi jednom funkcijom. Umjesto našeg primjera s ocjenama koji ima 4 ugniježđene IF funkcije:
-
=IF(D2>89;"A";IF(D2>79;"B";IF(D2>69;"C";IF(D2>59;"D";"F"))))
Može se uvelike pojednostavniti jednom funkcijom IFS:
-
=IFS(D2>89;"A";D2>79;"B";D2>69;"C";D2>59;"D";TRUE;"F")
Funkcija IFS je odlična jer ne morate brinuti o svim naredbama IF i zagradama.
Napomena: Ta je značajka dostupna samo ako imate pretplatu na Microsoft 365. Ako ste pretplatnik sustava Microsoft 365, provjerite imate li najnoviju verziju sustava Office.Kupite ili isprobajte Microsoft 365
Je li vam potrebna dodatna pomoć?
Uvijek možete postaviti pitanje stručnjaku u tehničkoj zajednici za Excel ili zatražiti podršku u zajednicama.
Povezane teme
IFS (Microsoft 365, Excel 2016 i novije) Funkcija COUNTIF broji vrijednosti na temelju jednog kriterijaFunkcija COUNTIFS broji vrijednosti na temelju više kriterija FunkcijaSUMIF zbrajati će vrijednosti na temelju jednog kriterijaSUMIFS funkcija će zbrojiti vrijednosti na temelju više kriterijaAND funkcijaOR funkcijaVLOOKUP Pregled formula u programuExcel Kako izbjeći neispravneformule Otkrivanje pogrešaka uformulama Logičke funkcijeprograma Excel (abecednim redoslijedom)Funkcije programa Excel (prema kategoriji)