Kazalo
V učbeniku je razloženo, kako v Excelu uporabiti več IF, in na voljo je nekaj primerov vnešenih formul If za najpogostejše naloge.
Če vas kdo vpraša, katero funkcijo programa Excel najpogosteje uporabljate, kaj bi odgovorili? V večini primerov je to funkcija IF programa Excel. Običajna formula If, ki preverja en sam pogoj, je zelo preprosta in jo je enostavno napisati. Kaj pa, če vaši podatki zahtevajo bolj zapletene logične teste z več pogoji? V tem primeru lahko v eno formulo vključite več funkcij IF in te večkratne funkcije Ifizjave se imenujejo Excelov vgnezdeni IF Največja prednost vgnezdene izjave If je, da lahko z njo preverite več kot en pogoj in vrnete različne vrednosti glede na rezultate teh preverjanj, vse v eni sami formuli.
Microsoft Excel ima omejitve za ravni vgnezdenih IF-ov V Excelu 2003 in nižjih je bilo dovoljenih največ 7 ravni. V Excelu 2007 in višjih lahko v eni formuli ugnezdite do 64 funkcij IF.
V nadaljevanju tega priročnika boste našli nekaj primerov Excelovih vgnezdenih If in podrobno razlago njihove sintakse in logike.
Primer 1. Klasična vgnezdena formula IF
Tukaj je tipičen primer Excelovega If z več pogoji. Recimo, da imate v stolpcu A seznam študentov, v stolpcu B pa njihove izpitne ocene, ki jih želite razvrstiti z naslednjimi pogoji:
- Odlično: več kot 249
- Dobro: od 249 do vključno 200
- Zadovoljivo: med 199 in 150, vključno
- Slabo: manj kot 150
Zdaj pa napišimo vgnezdeno funkcijo IF na podlagi zgornjih meril. Velja, da je dobra praksa začeti z najpomembnejšim pogojem in ohraniti funkcije čim bolj preproste. Naša Excelova vgnezdena formula IF je naslednja:
=IF(B2>249, "Odlično", IF(B2>=200, "Dobro", IF(B2>150, "Zadovoljivo", "Slabo")))
In deluje natanko tako, kot mora:
Razumevanje logike vgrajenih IF v programu Excel
Slišal sem, da nekateri ljudje pravijo, da jih Excel večkratni If spravlja ob pamet :) Poskusite pogledati z drugega zornega kota:
Formula Excelu dejansko pove, naj oceni logični_test prve funkcije IF in, če je pogoj izpolnjen, vrne vrednost, ki je navedena v funkciji value_if_true argument. Če pogoj 1. funkcije If ni izpolnjen, preizkusite 2. stavek If in tako naprej.
IF( preverite, ali B2>=249, če je true - vrnite "Odlično", ali paIF( preverite, ali B2>=200, če je true - vrnite "Dobro", ali pa
IF( preverite, ali B2>150, če je true - vrnite "Zadovoljivo", če je false -
vrni "Slabo"))))
Primer 2. Večkratni If z aritmetičnimi izračuni
Tukaj je še ena tipična naloga: cena na enoto se spreminja glede na določeno količino, vaš cilj pa je napisati formulo, ki bo izračunala skupno ceno za katero koli količino izdelkov, vnesenih v določeno celico. Z drugimi besedami, vaša formula mora preveriti več pogojev in izvesti različne izračune glede na to, v katero območje količin spada določena količina:
Enota Količina | Cena na enoto |
1 do 10 | $20 |
11 do 19 | $18 |
20 do 49 | $16 |
50 do 100 | $13 |
Več kot 101 | $12 |
To nalogo lahko opravite tudi z uporabo več funkcij IF. Logika je enaka kot v zgornjem primeru, le da se določena količina pomnoži z vrednostjo, ki jo vrnejo vgnezdene funkcije IF (tj. z ustrezno ceno na enoto).
Če uporabnik vnese količino v celico B8, je formula naslednja:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
Rezultat bo videti približno takole:
Kot ste razumeli, ta primer prikazuje le splošen pristop, to vgnezdeno funkcijo If pa lahko preprosto prilagodite glede na svojo konkretno nalogo.
Na primer, namesto da bi v formulo "trdno" vnesli cene, se lahko sklicujete na celice s temi vrednostmi (celice B2 do B6). To bo uporabnikom omogočilo urejanje izvornih podatkov, ne da bi jim bilo treba posodabljati formulo:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Morda boste želeli vključiti dodatno(-e) funkcijo(-e) IF, ki določa(-jo) zgornjo, spodnjo ali obe meji razpona količine. Kadar je količina zunaj razpona, bo formula prikazala sporočilo "zunaj razpona". Na primer:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Zgoraj opisane vgnezdene formule IF delujejo v vseh različicah programa Excel. V Excelu 365 in Excelu 2021 lahko za isti namen uporabite tudi funkcijo IFS.
Napredni uporabniki programa Excel, ki poznajo formule z matriko, lahko uporabijo to formulo, ki v osnovi počne isto kot zgoraj obravnavana vgnezdena funkcija IF. Čeprav je formulo z matriko veliko težje razumeti, kaj šele napisati, ima eno nesporno prednost - določite obseg celic, ki vsebujejo vaše pogoje, namesto da se sklicujete na vsak pogoj posebej.formula je bolj prilagodljiva in če uporabniki spremenijo katerega od obstoječih pogojev ali dodajo novega, boste morali v formuli posodobiti le en sklic na območje.
Excelov vgnezdeni IF - nasveti in triki
Kot ste pravkar videli, uporaba večkratnih IF v Excelu ni raketna znanost. Naslednji nasveti vam bodo pomagali izboljšati formule z vgnezdenimi IF in preprečiti pogoste napake.
Vgnezdene omejitve IF
V programih Excel 2007 - Excel 365 lahko ugnezdite do 64 funkcij IF. V starejših različicah programa Excel 2003 in nižjih lahko uporabite do 7 ugnezdenih funkcij IF. Vendar dejstvo, da lahko v eni formuli ugnezdite veliko funkcij IF, še ne pomeni, da bi jih morali. Ne pozabite, da vsaka dodatna raven otežuje razumevanje in odpravljanje težav v vaši formuli. Če ima vaša formula preveč ugnezdenih ravni, lahkoga želite optimizirati z eno od teh možnosti.
Vrstni red vgnezdenih funkcij IF je pomemben
Excelova vgnezdena funkcija IF ovrednoti logične teste v vrstnem redu, kot so navedeni v formuli, in takoj, ko je eden od pogojev ovrednoten kot TRUE, se nadaljnji pogoji ne preverjajo. Z drugimi besedami, formula se ustavi pri prvem rezultatu TRUE.
Oglejmo si, kako deluje v praksi. Če je B2 enak 274, spodnja vgnezdena formula IF ovrednoti prvi logični test (B2>249) in vrne "Odlično", ker je ta logični test TRUE:
=IF(B2>249, "Odlično", IF(B2>=200, "Dobro", IF(B2>150, "Zadovoljivo", "Slabo")))
Sedaj obrnimo vrstni red funkcij IF:
=IF(B2>150, "Zadovoljivo", IF(B2>200, "Dobro", IF(B2>249, "Odlično", "Slabo")))
Formula preveri prvi pogoj, in ker je 274 večje od 150, je tudi rezultat tega logičnega testa TRUE. Zato formula vrne "zadovoljivo" brez preverjanja drugih pogojev.
Če spremenite vrstni red funkcij IF, spremenite rezultat:
Ocenite logiko formule
Če želite korak za korakom spremljati logični potek svoje vgnezdene formule IF, uporabite funkcijo Evaluate Formula, ki se nahaja v oknu Formula v zavihku Revizija formul Podčrtani izraz je del, ki se trenutno vrednoti, s klikom na Ocenite gumb vam bo prikazal vse korake v postopku ocenjevanja.
Na primer, vrednotenje prvega logičnega testa v vgnezdeni formuli IF, prikazani na spodnji sliki zaslona, bo potekalo takole: B2>249; 274>249; TRUE; Odlično.
Uravnoteženje oklepajev v vnešenih funkcijah IF
Eden glavnih izzivov pri vgnezdenih IF-ih v Excelu je usklajevanje parov oklepajev. Če se oklepaji ne ujemajo, vaša formula ne bo delovala. Na srečo Microsoft Excel ponuja nekaj funkcij, ki vam lahko pomagajo uravnotežiti oklepaje pri urejanju formule:
- Če imate več kot en niz oklepajev, so pari oklepajev osenčeni z različnimi barvami, tako da se začetni oklepaj ujema z zaključnim.
- Ko zaprete oklepaj, Excel na kratko osvetli ustrezni par. Enak učinek krepitve ali utripanja se pojavi, ko se po formuli premikate s smernimi tipkami.
Za več informacij glejte Ujemanje parov oklepajev v Excelovih formulah.
Različno obravnavanje besedila in številk
Pri oblikovanju logičnih testov vgnezdenih formul IF ne pozabite, da je treba besedilo in številke obravnavati različno - besedilne vrednosti vedno zapišite v dvojne narekovaje, okoli številk pa nikoli ne postavljajte narekovajev:
Desno: =IF(B2>249, "Odlično",...)
Napačno: =IF(B2>"249", "Excellent",…)
Logični test druge formule bo vrnil FALSE, čeprav je vrednost v B2 večja od 249. Zakaj? Ker je 249 število, "249" pa številski niz, kar sta dve različni stvari.
Dodajte presledke ali prelome vrstic, da boste lažje brali vgnezdene IF-je.
Pri oblikovanju formule z več vgnezdenimi ravnmi IF lahko logiko formule naredite jasnejšo tako, da različne funkcije IF ločite s presledki ali prekinitvami vrstic. Excelu ni mar za dodatne presledke v formuli, zato vas ne sme skrbeti, da bi jih premešali.
Če želite določen del formule premakniti v naslednjo vrstico, kliknite na mesto, kjer želite vstaviti prelom vrstice, in pritisnite Alt + Enter . Nato po potrebi razširite vrstico formul in videli boste, da je vaša vgnezdena formula IF postala veliko bolj razumljiva.
Alternative za vgnezdene IF v Excelu
Če želite v Excelu 2003 in starejših različicah zaobiti omejitev sedmih ugnezdenih funkcij IF ter svoje formule narediti bolj kompaktne in hitre, uporabite naslednje alternative ugnezdenim funkcijam IF v Excelu.
- Če želite preizkusiti več pogojev in na podlagi rezultatov teh preizkusov vrniti različne vrednosti, lahko namesto ugnezdenih IF-ov uporabite funkcijo CHOOSE.
- Sestavite referenčno tabelo in uporabite VLOOKUP s približnim ujemanjem, kot je prikazano v tem primeru: VLOOKUP namesto ugnezdenega IF v Excelu.
- Uporabite IF z logičnimi funkcijami OR / AND, kot je prikazano v teh primerih.
- Uporabite formulo za polje, kot je prikazano v tem primeru.
- Združite več stavkov IF z uporabo funkcije CONCATENATE ali operatorja concatenate (&). Primer formule je na voljo tukaj.
- Za izkušene uporabnike programa Excel je najboljša alternativa uporabi več vgnezdenih funkcij IF ustvarjanje funkcije delovnega lista po meri z uporabo VBA.
Tako v Excelu uporabite formulo If z več pogoji. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu.
Praktični delovni zvezek za prenos
Vloženi stavki If Excel (.xlsx datoteka)