Sadržaj
Vodič 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 neko pita koju Excel funkciju najčešće koristite, kakav bi bio vaš odgovor? U većini slučajeva, to je funkcija Excel IF. Redovna If formula koja testira jedan uslov je vrlo jednostavna i laka za pisanje. Ali šta ako vaši podaci zahtijevaju složenije logičke testove s više uvjeta? U ovom slučaju, možete uključiti nekoliko IF funkcija u jednu formulu, a ovi višestruki If izrazi se zovu Excel ugniježđeni IF . Najveća prednost ugniježđenog If naredbe je ta što vam omogućava da provjerite više od jednog uslova i vratite različite vrijednosti u zavisnosti od rezultata tih provjera, sve u jednoj formuli.
Microsoft Excel ima ograničenja na nivoa ugniježđenih IF . U programu Excel 2003 i nižim, dozvoljeno je do 7 nivoa. U programu Excel 2007 i novijim, možete ugniježditi do 64 IF funkcije u jednu formulu.
Dalje u ovom vodiču, naći ćete nekoliko primjera ugniježđenog If programa Excel zajedno s detaljnim objašnjenjem njihove sintakse i logike .
Primjer 1. Klasična ugniježđena IF formula
Evo tipičnog primjera Excel If sa više uslova. Pretpostavimo da imate listu studenata u koloni A i njihove rezultate ispita u koloni B, a rezultate želite klasificirati sa sljedećimuslovi:
- Odličan: Preko 249
- Dobar: između 249 i 200, uključujući
- Zadovoljavajući: između 199 i 150, uključujući
- Slab : Ispod 150
A sada, hajde da napišemo ugniježđenu IF funkciju na osnovu gore navedenih kriterija. Smatra se dobrom praksom započeti s najvažnijim uvjetom i održati svoje funkcije što jednostavnijim. 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 da neki ljudi kažu da ih Excel multiple If izluđuje :) Pokušajte ga pogledati pod drugim uglom:
Šta je zapravo formula kaže Excelu da procijeni logical_test prve IF funkcije i, ako je uvjet ispunjen, vrati vrijednost navedenu u argumentu value_if_true . Ako uslov 1. If funkcije nije ispunjen, testirajte 2. If naredbu i tako dalje.
IF( provjerite akoB2>=249, ako je istinito - return"Odlično", ili inačeIF( provjeri ako B2>=200, ako je istina - vrati "Dobro", ili inače
IF( provjeri ako B2>150, ako je istinito - vrati "Zadovoljavajuće", ako je netačno -
vrati "Loše")))
Primjer 2. Višestruki Ako s aritmetičkim proračunima
Evo još jednog tipičnog zadatka: jedinična cijena varira ovisno o navedenoj količini, a vaš cilj je da napišete formulu kojaizračunava ukupnu cijenu za bilo koju količinu stavki unesenih u određenu ćeliju. Drugim riječima, vaša formula treba provjeriti više uslova i izvršiti različite proračune u zavisnosti od raspona iznosa u koji spada navedena količina:
Jedična 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 zadatak se također može postići korištenjem višestrukih IF funkcija. Logika je ista kao u gornjem primjeru, jedina razlika je u tome što navedenu količinu množite 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, "")))))
I rezultat će izgledati nešto slično ovome:
Kao što razumijete , ovaj primjer pokazuje samo opći pristup i možete jednostavno prilagoditi ovu ugniježđenu If funkciju ovisno o vašem konkretnom zadatku.
Na primjer, umjesto "tvrdog kodiranja" cijena u formuli, možete referencirati ćelije koje sadrže te vrijednosti (ćelije B2 do B6). Ovo će omogućiti vašim korisnicima da uređuju izvorne podatke 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 ćete možda htjeti uključiti dodatnu IF funkciju (s) koji fiksira 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, ""))))))
Ugniježđene IF formule opisane iznad rade u svim verzijama Excel-a. U Excel 365 i Excel 2021, također možete koristiti IFS funkciju za istu svrhu.
Napredni korisnici Excela koji su upoznati sa formulama niza, mogu koristiti ovu formulu koja u osnovi radi istu stvar kao i ugniježđena IF funkcija gore diskutovano. Iako je formulu niza daleko teže shvatiti, a kamoli napisati, ona ima jednu neospornu prednost - specificirate opseg ćelija koje sadrže vaše uslove umjesto da referencirate svaki uslov pojedinačno. Ovo čini formulu fleksibilnijom, a ako se desi da vaši korisnici promijene 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, nema raketne nauke u korištenju višestrukih IF u Excelu. Sljedeći savjeti će vam pomoći da poboljšate svoje ugniježđene IF formule i spriječite uobičajene greške.
Ugniježđena IF ograničenja
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 svaki dodatni nivo čini vašu formulu težim za razumijevanje i rješavanje problema. Ako vaša formula ima previše ugniježđenih nivoa, možda ćete je htjeti optimizirati korištenjem jedne od ovih alternativa.
Redoslijed ugniježđenih IF funkcija je bitan
Excel funkcija ugniježđene IF procjenjuje logičke testove redoslijedom kojim se pojavljuju u formuli, a čim se jedan od uslova procijeni na TRUE, naredni uvjeti se ne testiraju. Drugim riječima, formula se zaustavlja nakon prvog TRUE rezultata.
Da vidimo kako to funkcionira u praksi. Sa B2 jednakim 274, ugniježđena IF formula ispod procjenjuje prvi logički test (B2>249) i vraća "Odlično" jer je ovaj logički test TRUE:
=IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))
Sada, hajde da 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 je također TRUE. Prema tome, formula vraća "Zadovoljavajuće" bez testiranja drugih uslova.
Vidite, promjena redoslijeda IF funkcija mijenja rezultat:
Procijenite formulu logic
Da biste pratili logički tok vaše ugniježđene IF formule korak po korak, koristite funkciju Evaluate Formula koja se nalazi na kartici Formula , u Revizija formule grupa. Podvučeni izraz je dio koji se trenutno evaluira i klikom na Procijeni dugme će vam pokazati sve korake u procesu evaluacije.
Na primjer, evaluacija prvog logičkog testa ugniježđene IF formule prikazane na slici ispod će ići na sljedeći način: B2>249; 274>249; TAČNO; Odlično.
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 funkcija koje vam mogu pomoći da uravnotežite zagrade prilikom uređivanja formule:
- Ako imate više od jednog skupa zagrada, parovi zagrada su zasjenjeni različitim bojama, tako da da se početna zagrada poklapa sa završnom.
- Kada zatvorite zagradu, Excel nakratko ističe odgovarajući par. Isti podebljani ili "treperajući" efekat nastaje kada se krećete kroz formulu pomoću tipki sa strelicama.
Za više informacija, pogledajte u zagradi Podudaranje parova u Excel formulama.
Različito tretirajte tekst i brojeve
Kada pravite logičke testove vaših ugniježđenih IF formula, zapamtite da tekst i brojeve treba tretirati drugačije - uvijek stavite tekstualne vrijednosti u dvostruke navodnike, ali nikada ne stavljajte navodnike oko brojeva:
Desno: =IF(B2>249, "Odlično",...)
Pogrešno: =IF(B2> "249", "Odlično",...)
Logički testdruga formula će vratiti FALSE čak i ako je vrijednost u B2 veća od 249. Zašto? Zato što je 249 broj, a "249" numerički niz, što su dvije različite stvari.
Dodajte razmake ili prijelome reda kako biste lakše čitali ugniježđene IF
Kada pravite formulu s višestrukim Ugniježđeni IF nivoi, možete učiniti logiku formule jasnijom odvajanjem različitih IF funkcija razmacima ili prijelomima reda. Excelu nije stalo do dodatnog razmaka u formuli, tako da se možda nećete brinuti o tome da je pokvarite.
Da biste premjestili određeni dio formule u sljedeći red, samo kliknite na mjesto gdje želite umetnuti prijelom reda , i pritisnite Alt + Enter . Zatim proširite traku formule koliko je potrebno i vidjet ćete da je vaša ugniježđena IF formula postala mnogo lakša za razumijevanje.
Alternative za ugniježđeni IF u Excelu
Da biste zaobišli ograničenje od sedam ugniježđenih funkcija IF u Excelu 2003 i starijim verzijama i da biste svoje formule učinili kompaktnijim i bržim, razmislite o korištenju sljedećih alternativa ugniježđenim funkcijama Excel IF.
- Za testirajte više uslova i vratite različite vrijednosti na osnovu rezultata tih testova, možete koristiti funkciju CHOOSE umjesto ugniježđenih IF-ova.
- Izgradite 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 sa logičkim funkcijama OR / AND, kao što je prikazano u ovimprimjeri.
- Koristite formulu niza kao što je prikazano u ovom primjeru.
- Kombinirajte više IF izraza korištenjem funkcije CONCATENATE ili operatora konkatenacije (&). Primjer formule možete pronaći ovdje.
- Za iskusne korisnike Excela, najbolja alternativa korištenju više ugniježđenih IF funkcija bi mogla biti kreiranje prilagođene funkcije radnog lista pomoću VBA.
Ovako koristite If formulu u Excelu sa više uslova. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice.
Vježbanje za preuzimanje
Ugniježđene If Excel izjave (.xlsx datoteka)