Kazalo
V učbeniku je prikazano, kako v Excelu ustvariti več stavkov IF z logiko AND in OR. Naučili se boste tudi, kako uporabiti IF skupaj z drugimi funkcijami Excel.
V prvem delu učbenika Excel IF smo si ogledali, kako sestaviti preprosto izjavo IF z enim pogojem za besedilo, številke, datume, prazne in neprazne prostore. Za zmogljivo analizo podatkov pa boste morda pogosto morali oceniti več pogojev naenkrat. V spodnjih primerih formul vam bomo prikazali najučinkovitejše načine za to.
Kako uporabiti funkcijo IF z več pogoji
V bistvu obstajata dve vrsti Formula IF z več merili na podlagi logike AND / OR . Zato morate v logičnem preizkusu formule IF uporabiti eno od teh funkcij:
- funkcija AND - vrne TRUE, če vsi pogoji so izpolnjeni; v nasprotnem primeru je FALSE.
- funkcija OR - vrne TRUE, če katerikoli posamezni pogoj. je izpolnjena, sicer pa FALSE.
Da bi to bolje ponazorili, si oglejmo nekaj primerov formul iz resničnega življenja.
Izjava Excel IF z več pogoji (logika AND)
Splošna formula Excelovega IF z dvema ali več pogoji je naslednja:
IF(AND( pogoj1 , pogoj2 , ...), value_if_true, value_if_false)Prevedeno v človeški jezik formula pravi: Če je pogoj 1 resničen IN če je pogoj 2 resničen, vrni value_if_true ; sicer se vrnite value_if_false .
Recimo, da imate tabelo, v kateri so v stolpcih B in C navedeni rezultati dveh testov.Da bi študent opravil zaključni izpit, morata biti oba rezultata večja od 50.
Za logični preizkus uporabite naslednji stavek AND: AND(B2>50, C2>50)
Če sta oba pogoja resnična, bo formula vrnila "Pass", če je kateri koli pogoj napačen, pa "Fail".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Preprosto, kajne? Spodnja slika zaslona dokazuje, da naša Excelova formula IF /AND deluje pravilno:
Na podoben način lahko uporabite Excelovo funkcijo IF z več besedilni pogoji .
Na primer, za izpis "Dobro", če sta vrednosti B2 in C2 večji od 50, v nasprotnem primeru pa "Slabo", je formula naslednja:
=IF(AND(B2="uspešno", C2="uspešno"), "Dobro!", "Slabo")
Pomembna opomba! Funkcija AND preverja vsi pogoji Takšno obnašanje je nekoliko nenavadno, saj se v večini programskih jezikov naslednji pogoji ne preverjajo, če je kateri koli od prejšnjih testov vrnil FALSE.
V praksi lahko na videz pravilna izjava IF zaradi te posebnosti povzroči napako. Spodnja formula bi na primer vrnila #DIV/0! (napaka "deljenje z nič"), če je celica A2 enaka 0:
=IF(AND(A20, (1/A2)>0,5), "Dobro", "Slabo")
Da bi se temu izognili, uporabite vgnezdeno funkcijo IF:
=IF(A20, IF((1/A2)>0,5, "Dobro", "Slabo"), "Slabo")
Za več informacij glejte IF IN formula v Excelu.
Excelova funkcija IF z več pogoji (logika OR)
Če želite narediti eno stvar, če kakršno koli stanje je izpolnjena, v nasprotnem primeru naredite kaj drugega, uporabite to kombinacijo funkcij IF in OR:
IF(ALI( pogoj1 , pogoj2 , ...), value_if_true, value_if_false)Razlika v primerjavi z zgoraj opisano formulo IF / AND je v tem, da Excel vrne TRUE, če je kateri koli od navedenih pogojev resničen.
Če torej v prejšnji formuli namesto AND uporabimo OR:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Vsakdo, ki pri katerem koli izpitu doseže več kot 50 točk, dobi v stolpcu D oznako "uspešno". S takšnimi pogoji imajo naši učenci več možnosti, da opravijo zaključni izpit (Yvette je še posebej nesrečna, saj je padla za samo 1 točko :)
Nasvet. Če ustvarjate več stavkov IF z besedilom in preverjanje vrednosti v eni celici z logiko OR (tj. celica je lahko "to" ali "to"), lahko sestavite bolj kompaktno formulo z uporabo konstante polja.
Če želite na primer označiti prodajo kot "zaključeno", če je v celici B2 zapisano "dostavljeno" ali "plačano", je formula naslednja:
=IF(ALI(B2={"dostavljeno", "plačano"}), "zaprto", "")
Več primerov formul najdete v Excelovi funkciji IF OR.
IF z več stavki AND & amp; OR
Če naloga zahteva vrednotenje več nizov več pogojev, boste morali uporabiti obe funkciji AND & amp; OR naenkrat.
Predpostavimo, da imate v naši vzorčni tabeli naslednja merila za preverjanje rezultatov izpitov:
- Pogoj 1: izpit1>50 in izpit2>50
- Pogoj 2: izpit1>40 in izpit2>60
Če je izpolnjen kateri koli od teh pogojev, se šteje, da je zaključni izpit uspešno opravljen.
Na prvi pogled se zdi formula nekoliko zapletena, vendar v resnici ni! Vsak od zgornjih pogojev preprosto izrazite kot stavek AND in ga vnesite v funkcijo OR (ker ni nujno, da sta izpolnjena oba pogoja, zadostuje eden od njiju):
ALI(AND(B2>50, C2>50), AND(B2>40, C2>60)
Nato uporabite funkcijo OR za logični test IF in vnesite želeno value_if_true in . value_if_false Rezultat tega je naslednja formula IF z več pogoji AND / OR:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Spodnja zaslonska slika kaže, da smo formulo izvedli pravilno:
Seveda niste omejeni na uporabo samo dveh funkcij AND/OR v formulah IF. Uporabite jih lahko toliko, kolikor jih zahteva vaša poslovna logika, če:
- V Excelu 2007 in novejših različicah je na voljo največ 255 argumentov, skupna dolžina formule IF pa ne presega 8 192 znakov.
- V Excelu 2003 in nižjih različicah je argumentov največ 30, skupna dolžina formule IF pa ne presega 1 024 znakov.
Vgnezdena izjava IF za preverjanje več logičnih testov
Če želite v eni sami formuli oceniti več logičnih testov, lahko več funkcij vgradite eno v drugo. Takšne funkcije se imenujejo vgnezdene funkcije IF . Še posebej uporabni so, kadar želite vrniti različne vrednosti glede na rezultate logičnih testov.
Navedimo tipičen primer: recimo, da želite dosežke učencev opredeliti kot " Dobro ", " Zadovoljivo " in " Slaba " na podlagi naslednjih ocen:
- Dobro: 60 ali več (>=60)
- Zadovoljivo: med 40 in 60 (>40 in <60)
- Slabo: 40 ali manj (<=40)
Preden napišete formulo, upoštevajte vrstni red funkcij, ki jih boste vnesli. Excel bo logične teste ovrednotil po vrstnem redu, kot so navedeni v formuli. Ko je pogoj ovrednoten kot TRUE, nadaljnji pogoji niso testirani, kar pomeni, da se formula ustavi po prvem rezultatu TRUE.
V našem primeru so funkcije razporejene od največje do najmanjše:
=IF(B2>=60, "Dobro", IF(B2>40, "Zadovoljivo", "Slabo"))
Seveda lahko po potrebi vgradite več funkcij (do 64 v sodobnih različicah).
Za več informacij glejte Kako v Excelu uporabiti več vgnezdenih stavkov IF.
Excelova formula IF z več pogoji
Drug način, kako v Excelovem IF-u preveriti več pogojev, je uporaba formule z matriko.
Za ocenjevanje pogojev z logiko AND uporabite zvezdico:
IF( pogoj1 ) * ( pogoj2 ) * ..., value_if_true, value_if_false)Za preverjanje pogojev z logiko OR uporabite znak plus:
IF( pogoj1 ) + ( pogoj2 ) + ..., value_if_true, value_if_false)Če želite pravilno dokončati formulo za polja, pritisnite skupaj tipki Ctrl + Shift + Enter. V Excelu 365 in Excelu 2021 to zaradi podpore za dinamična polja deluje tudi kot običajna formula.
Na primer, če sta vrednosti B2 in C2 večji od 50, je formula "Pass" naslednja:
=IF((B2>50) * (C2>50), "Pass", "Fail")
V mojem Excelu 365 običajna formula deluje brez težav (kot lahko vidite na zgornjih zaslonskih slikah). V Excelu 2019 in nižjih programih ne pozabite narediti formule za polje z uporabo bližnjice Ctrl + Shift + Enter.
Za ocenjevanje več pogojev z logiko OR je formula naslednja:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Uporaba IF skupaj z drugimi funkcijami
V tem razdelku je razloženo, kako uporabiti IF v kombinaciji z drugimi funkcijami programa Excel in kakšne prednosti vam to prinaša.
Primer 1. Če je #N/A napaka v VLOOKUP
Kadar funkcija VLOOKUP ali druga funkcija iskanja nečesa ne more najti, vrne napako #N/A. Da bi bile vaše tabele videti lepše, lahko v primeru #N/A vrnete ničlo, prazno ali določeno besedilo. Za to uporabite to splošno formulo:
IF(ISNA(VLOOKUP(...)), value_if_na , VLOOKUP(...))Na primer:
Če je #N/A, vrnite 0:
Če vrednosti iskanja v E1 ni mogoče najti, formula vrne ničlo.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Če je #N/A, vrnite prazno:
Če vrednosti iskanja ni mogoče najti, formula ne vrne ničesar (prazen niz).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Če je #N/A, vrnite določeno besedilo:
Če vrednosti iskanja ni mogoče najti, formula vrne določeno besedilo.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Ni najden", VLOOKUP(E1, A2:B10, 2, FALSE))
Za več primerov formul glejte VLOOKUP z ukazom IF v Excelu.
Primer 2. IF s funkcijami SUM, AVERAGE, MIN in MAX
Če želite sešteti vrednosti celic na podlagi določenih meril, Excel ponuja funkciji SUMIF in SUMIFS.
V nekaterih primerih lahko poslovna logika zahteva vključitev funkcije SUM v logični preizkus IF. Na primer, če želite vrniti različne besedilne oznake glede na vsoto vrednosti v B2 in C2, je formula naslednja:
=IF(SUM(B2:C2)>130, "Dobro", IF(SUM(B2:C2)>110, "Zadovoljivo", "Slabo"))
Če je vsota večja od 130, je rezultat "dober"; če je večja od 110 - "zadovoljiv", če je 110 ali manj - "slab".
Na podoben način lahko funkcijo AVERAGE vgradite v logični test IF in vrnete različne oznake glede na povprečno oceno:
=IF(AVERAGE(B2:C2)>65, "Dobro", IF(AVERAGE(B2:C2)>55, "Zadovoljivo", "Slabo"))
Ob predpostavki, da je skupni rezultat v stolpcu D, lahko s funkcijama MAX in MIN določite najvišjo in najnižjo vrednost:
=IF(D2=MAX($D$2:$D$10), "Najboljši rezultat", "")
=IF(D2=MAX($D$2:$D$10), "Najboljši rezultat", "")
Če želite imeti obe oznaki v enem stolpcu, vgnezdite zgornje funkcije eno v drugo:
=IF(D2=MAX($D$2:$D$10), "Najboljši rezultat", IF(D2=MIN($D$2:$D$10), "Najslabši rezultat", ""))
Funkcijo IF lahko uporabite tudi skupaj s funkcijami po meri. Združite jo lahko na primer s funkcijo GetCellColor ali GetCellFontColor, da vrnete različne rezultate glede na barvo celice.
Poleg tega Excel ponuja številne funkcije za izračun podatkov na podlagi pogojev. Za podrobne primere formul si oglejte naslednja navodila:
- COUNTIF - preštejte celice, ki izpolnjujejo pogoj
- COUNTIFS - preštejte celice z več merili
- SUMIF - pogojno seštevanje celic
- SUMIFS - seštevajte celice z več merili
Primer 3. IF z ISNUMBER, ISTEXT in ISBLANK
Za prepoznavanje besedila, številk in praznih celic Microsoft Excel ponuja posebne funkcije, kot so ISTEXT, ISNUMBER in ISBLANK. Če jih vključite v logične teste treh vnešenih stavkov IF, lahko v enem koraku prepoznate vse različne vrste podatkov:
=IF(ISTEXT(A2), "Besedilo", IF(ISNUMBER(A2), "Številka", IF(ISBLANK(A2), "Prazno", "")))
Primer 4. IF in CONCATENATE
Če želite rezultat funkcije IF in nekaj besedila izpisati v eno celico, uporabite funkciji CONCATENATE ali CONCAT (v Excelu 2016 - 365) in IF skupaj. Na primer:
=CONCATENATE("Izvedli ste ", IF(B1>100, "fantastično!", IF(B1>50, "dobro", "slabo"))))
=CONCAT("Izvedli ste ", IF(B1>100, "fantastično!", IF(B1>50, "dobro", "slabo"))))
Če si ogledate spodnjo sliko zaslona, vam ne bo treba razlagati, kaj formula počne:
IF ISERROR / ISNA formula v Excelu
Sodobne različice programa Excel imajo posebne funkcije za lovljenje napak in njihovo nadomestitev z drugim izračunom ali vnaprej določeno vrednostjo - IFERROR (v programu Excel 2007 in novejših) in IFNA (v programu Excel 2013 in novejših). V prejšnjih različicah programa Excel lahko namesto tega uporabite kombinaciji IF ISERROR in IF ISNA.
Razlika je v tem, da IFERROR in ISERROR obravnavata vse možne napake programa Excel, vključno z #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! in #NULL!, medtem ko sta IFNA in ISNA specializirana samo za napake #N/A.
Če želite na primer napako "deljenje z nič" (#DIV/0!) nadomestiti z besedilom po meri, lahko uporabite naslednjo formulo:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
In to je vse, kar imam povedati o uporabi funkcije IF v Excelu. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!
Praktični delovni zvezek za prenos
Excel IF več meril - primeri (.xlsx datoteka)