Sadržaj
Udžbenik objašnjava kako koristiti višestruki IF u Excelu i pruža nekoliko primjera ugniježđenih If formula za najčešće zadatke.
Ako vas netko pita koju Excel funkciju najčešće koristite, što biste odgovorili? U većini slučajeva to je funkcija Excel IF. Uobičajena If formula koja testira jedan uvjet vrlo je jednostavna i laka za pisanje. Ali što ako vaši podaci zahtijevaju detaljnije logičke testove s više uvjeta? U ovom slučaju možete uključiti nekoliko IF funkcija u jednu formulu, a te višestruke If naredbe nazivaju se Excel Nested IF . Najveća prednost ugniježđene If naredbe je ta što vam omogućuje provjeru više od jednog uvjeta i vraćanje različitih vrijednosti ovisno o rezultatima tih provjera, sve u jednoj formuli.
Microsoft Excel ima ograničenja za razine ugniježđenih IF-ova . U Excelu 2003 i nižim je dopušteno do 7 razina. U Excelu 2007 i novijim, možete ugniježditi do 64 IF funkcije u jednu formulu.
Dalje u ovom vodiču, pronaći ćete nekoliko Excel ugniježđenih If primjera zajedno s detaljnim objašnjenjem njihove sintakse i logike .
Primjer 1. Klasična ugniježđena IF formula
Ovo je tipičan primjer Excel If s više uvjeta. Pretpostavimo da imate popis studenata u stupcu A i njihove bodove na ispitima u stupcu B, a rezultate želite klasificirati prema sljedećemuvjeti:
- Izvrsni: Preko 249
- Dobri: između 249 i 200, uključujući
- Zadovoljavajući: između 199 i 150, uključujući
- Loše : Under 150
A sada, napišimo ugniježđenu IF funkciju na temelju gornjih kriterija. Smatra se dobrom praksom započeti s najvažnijim uvjetom i zadržati svoje funkcije što je moguće jednostavnije. Naša Excel ugniježđena IF formula ide kako slijedi:
=IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))
I radi točno onako kako bi trebala:
Razumijevanje Excel ugniježđene IF logike
Čuo sam neke ljude kako kažu da ih Excel višestruki If izluđuje :) Pokušajte to pogledati iz drugog kuta:
Koja je zapravo formula govori Excelu da mora procijeniti logical_test prve IF funkcije i, ako je uvjet zadovoljen, vratiti vrijednost dostavljenu u argumentu value_if_true . Ako uvjet 1. If funkcije nije ispunjen, testirajte 2. If naredbu i tako dalje.
IF( provjeri akoB2>=249, ako je istina - vrati"Izvrsno", ili inačeIF( provjeri ako B2>=200, ako je točno - vrati "Dobro", ili inače
IF( check if B2>150, if true - return "Satisfactory", if false -
vrati "Loše")))
Primjer 2. Višestruki If s aritmetičkim izračunima
Evo još jednog tipičnog zadatka: jedinična cijena varira ovisno o navedenoj količini, a vaš cilj je napisati formulu kojaizračunava ukupnu cijenu za bilo koju količinu stavki unesenih u određenu ćeliju. Drugim riječima, vaša formula mora provjeriti više uvjeta i izvršiti različite izračune ovisno o rasponu iznosa u koji navedena količina spada:
Jedinička količina | Cijena po jedinici |
1 do 10 | 20$ |
11 do 19 | 18$ |
20 do 49 | 16$ |
50 do 100 | 13$ |
Preko 101 | $12 |
Ovaj se zadatak također može izvršiti korištenjem višestrukih IF funkcija. Logika je ista kao u gornjem primjeru, jedina je razlika u tome što navedenu količinu množite s vrijednošću koju vraćaju ugniježđeni IF-ovi (tj. odgovarajuća cijena po jedinici).
Pod pretpostavkom da korisnik unese količinu u ćelija B8, formula je sljedeća:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
A rezultat će izgledati otprilike ovako:
Kao što razumijete , ovaj primjer pokazuje samo opći pristup, a ovu ugniježđenu If funkciju možete jednostavno prilagoditi ovisno o svom zadatku.
Na primjer, umjesto "tvrdog kodiranja" cijena u formuli, možete referencirati ćelije koje sadrže te vrijednosti (ćelije B2 do B6). To će omogućiti vašim korisnicima uređivanje izvornih podataka bez potrebe za ažuriranjem formule:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Ili, možda želite uključiti dodatnu IF funkciju (s) koji popravlja gornji dio,donju ili obje granice raspona iznosa. Kada je količina izvan raspona, formula će prikazati poruku "izvan raspona". Na primjer:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Gore opisane ugniježđene IF formule rade u svim verzijama Excela. U Excelu 365 i Excelu 2021 također možete koristiti funkciju IFS za istu svrhu.
Napredni korisnici programa Excel koji su upoznati s formulama polja mogu koristiti ovu formulu koja u osnovi radi isto što i ugniježđena funkcija IF gore razmotreno. Iako je formulu polja mnogo teže razumjeti, a kamoli pisati, ona ima jednu neospornu prednost - specificirate raspon ćelija koje sadrže vaše uvjete umjesto da se pozivate na svaki uvjet pojedinačno. To čini formulu fleksibilnijom, a ako vaši korisnici mijenjaju bilo koji od postojećih uvjeta ili dodaju novi, morat ćete ažurirati samo jednu referencu raspona u formuli.
Excel ugniježđeni IF - savjeti i trikovi
Kao što ste upravo vidjeli, upotreba višestrukih IF-ova u Excelu nema nikakve koristi. Sljedeći savjeti pomoći će vam da poboljšate svoje ugniježđene IF formule i spriječite uobičajene pogreške.
Ograničenja ugniježđenih IF
U programu Excel 2007 - Excel 365 možete ugniježditi do 64 IF funkcije. U starijim verzijama programa Excel 2003 i starijim, može se koristiti do 7 ugniježđenih IF funkcija. Međutim, činjenica da možete ugnijezditi mnogo IF-ova u jednu formulu ne znači da biste trebali.Imajte na umu da svaka dodatna razina čini vašu formulu težom za razumijevanje i rješavanje problema. Ako vaša formula ima previše ugniježđenih razina, možda ćete je htjeti optimizirati pomoću jedne od ovih alternativa.
Redoslijed ugniježđenih IF funkcija je važan
Excelova ugniježđena IF funkcija procjenjuje logičke testove redoslijedom kojim se pojavljuju u formuli, a čim se jedan od uvjeta ocijeni TRUE, sljedeći uvjeti se ne testiraju. Drugim riječima, formula se zaustavlja nakon prvog TRUE rezultata.
Da vidimo kako funkcionira u praksi. S B2 jednakim 274, ugniježđena IF formula u nastavku procjenjuje prvi logički test (B2>249) i vraća "Izvrsno" jer je ovaj logički test TRUE:
=IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))
A sada, idemo obrnuti redoslijed IF funkcija:
=IF(B2>150, "Satisfactory", IF(B2>200, "Good", IF(B2>249, "Excellent", "Poor")))
Formula testira prvi uvjet, a budući da je 274 veće od 150, rezultat ovog logičkog testa također je TRUE. Posljedično, formula vraća "Zadovoljavajuće" bez testiranja drugih uvjeta.
Vidite, promjena redoslijeda IF funkcija mijenja rezultat:
Procijenite formulu logika
Za gledanje logičkog tijeka vaše ugniježđene IF formule korak po korak, upotrijebite značajku Evaluate Formula koja se nalazi na kartici Formula , u Reviziji formule skupina. Podcrtani izraz je dio koji se trenutno procjenjuje i klikom na Procijeni pokazat će vam sve korake u procesu evaluacije.
Na primjer, evaluacija prvog logičkog testa ugniježđene IF formule prikazane na snimci zaslona u nastavku ići će kako slijedi: B2>249; 274>249; PRAVI; Izvrsno.
Uravnotežite zagrade ugniježđenih IF funkcija
Jedan od glavnih izazova s ugniježđenim IF-ovima u Excelu je podudaranje parova zagrada. Ako se zagrade ne podudaraju, vaša formula neće raditi. Srećom, Microsoft Excel nudi nekoliko značajki koje vam mogu pomoći da uravnotežite zagrade prilikom uređivanja formule:
- Ako imate više od jednog skupa zagrada, parovi zagrada osjenčani su različitim bojama pa da se početna zagrada podudara sa zagradom koja se zatvara.
- Kada zatvorite zagradu, Excel nakratko ističe odgovarajući par. Isti podebljani ili "trepereći" efekt proizvodi se kada se krećete kroz formulu pomoću tipki sa strelicama.
Za više informacija, molimo pogledajte Podudaranje zagrada parova u Excel formulama.
Različito postupajte s tekstom i brojevima
Kada gradite logičke testove svojih ugniježđenih IF formula, zapamtite da se s tekstom i brojevima treba postupati drugačije - tekstualne vrijednosti uvijek stavite u dvostruke navodnike, ali nikad ne stavljajte navodnike oko brojeva:
Točno: =IF(B2>249, "Odlično",…)
Pogrešno: =IF(B2> "249", "Izvrsno",…)
Logički test zadruga formula će vratiti FALSE čak i ako je vrijednost u B2 veća od 249. Zašto? Zato što je 249 broj, a "249" je numerički niz, što su dvije različite stvari.
Dodajte razmake ili prijelome redaka kako biste lakše čitali ugniježđene IF-ove
Kada gradite formulu s više ugniježđene IF razine, logiku formule možete učiniti jasnijom odvajanjem različitih IF funkcija razmacima ili prijelomima redaka. Excel ne mari za dodatne razmake u formuli, tako da ne možete brinuti da ćete je pokvariti.
Da biste premjestili određeni dio formule u sljedeći redak, samo kliknite mjesto gdje želite umetnuti prijelom retka i pritisnite Alt + Enter. Zatim proširite traku formule onoliko koliko je potrebno i vidjet ćete da je vaša ugniježđena IF formula postala puno lakša za razumijevanje.
Alternative za ugniježđenu IF u Excelu
Da biste zaobišli ograničenje od sedam ugniježđenih IF funkcija u programu Excel 2003 i starijim verzijama te da bi vaše formule bile kompaktnije i brže, razmislite o korištenju sljedećih alternativa ugniježđenim funkcijama programa Excel IF.
- Za testirajte više uvjeta i vratite različite vrijednosti na temelju rezultata tih testova, možete koristiti funkciju CHOOSE umjesto ugniježđenih IF-ova.
- Izradite referentnu tablicu i koristite VLOOKUP s približnim podudaranjem kao što je prikazano u ovom primjeru: VLOOKUP umjesto ugniježđenog IF u Excelu.
- Koristite IF s logičkim funkcijama OR / AND, kao što je prikazano u ovimprimjeri.
- Upotrijebite formulu polja kao što je prikazano u ovom primjeru.
- Kombinirajte više IF naredbi pomoću funkcije CONCATENATE ili operatora za spajanje (&). Primjer formule može se pronaći ovdje.
- Za iskusne korisnike Excela, najbolja alternativa korištenju višestrukih ugniježđenih IF funkcija može biti stvaranje prilagođene funkcije radnog lista pomoću VBA.
Ovako koristite If formulu u Excelu s više uvjeta. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan.
Radna knjiga za vježbe za preuzimanje
Ugniježđene If Excel izjave (.xlsx datoteka)