Sisukord
Selles artiklis saate teada, kuidas koostada Exceli IF-avaldusi erinevat tüüpi väärtuste jaoks ning kuidas luua mitu IF-avaldust.
IF on üks populaarsemaid ja kasulikumaid funktsioone Excelis. Üldiselt kasutate IF-avaldust tingimuse testimiseks ja ühe väärtuse tagastamiseks, kui tingimus on täidetud, ja teise väärtuse tagastamiseks, kui tingimus ei ole täidetud.
Selles õpetuses tutvume Exceli IF-funktsiooni süntaksi ja tavapäraste kasutusviisidega ning vaatleme seejärel lähemalt valemite näiteid, mis loodetavasti osutuvad kasulikuks nii algajatele kui ka kogenud kasutajatele.
IF funktsioon Excelis
IF on üks loogilistest funktsioonidest, mis hindab teatud tingimust ja tagastab ühe väärtuse, kui tingimus on TRUE, ja teise väärtuse, kui tingimus on FALSE.
IF-funktsiooni süntaks on järgmine:
IF(loogiline_test, [value_if_true], [value_if_false])Nagu näete, võtab IF kokku 3 argumenti, kuid ainult esimene neist on kohustuslik, ülejäänud kaks on valikulised.
Loogiline_test (nõutav) - testitav tingimus. Saab hinnata kas TRUE või FALSE.
Value_if_true (valikuline) - väärtus, mis tagastatakse, kui loogiline test annab tulemuseks TRUE, st tingimus on täidetud. Kui see jäetakse välja, siis on value_if_false argument peab olema määratletud.
Value_if_false (valikuline) - väärtus, mis tagastatakse, kui loogiline test annab tulemuseks FALSE, st tingimus ei ole täidetud. Kui see jäetakse välja, siis on value_if_true argument peab olema seatud.
Põhiline IF-valem Excelis
Et luua lihtne Kui siis avaldust Excelis, peate tegema järgmist:
- Sest loogiline_test , kirjutage väljendus, mis tagastab kas TRUE või FALSE. Selleks kasutate tavaliselt ühte loogilistest operaatoritest.
- Sest value_if_true , määrata, mida tagastada, kui loogiline test annab tulemuseks TRUE.
- Sest value_if_false , määrata, mida tagastada, kui loogiline test annab tulemuseks FALSE. Kuigi see argument on valikuline, soovitame selle alati konfigureerida, et vältida ootamatuid tulemusi. Üksikasjalik selgitus on esitatud jaotises Excel IF: asju, mida tuleb teada.
Kirjutame näiteks väga lihtsa IF-vormeli, mis kontrollib lahtris A2 olevat väärtust ja tagastab "Hea", kui väärtus on suurem kui 80, vastasel juhul "Halb":
=IF(B2>80, "Hea", "Halb")
See valem läheb C2 ja seejärel kopeeritakse alla kuni C7:
Kui soovite tagastada väärtuse ainult siis, kui tingimus on täidetud (või ei ole täidetud), muidu - mitte midagi, siis kasutage tühja stringi ("") argumendi "undefined" jaoks. Näiteks:
=IF(B2>80, "Hea", "")
See valem tagastab "Hea", kui A2 väärtus on suurem kui 80, muidu tühi lahter:
Exceli If siis valem: asjad, mida tuleb teada
Kuigi IF-funktsiooni kaks viimast parameetrit on valikulised, võib teie valem anda ootamatuid tulemusi, kui te ei tunne selle aluseks olevat loogikat.
Kui value_if_true on välja jäetud
Kui teie Exceli IF-valemi 2. argument on välja jäetud (st pärast loogilist testi on kaks järjestikust koma), siis saate tingimuse täitumisel tulemuseks nulli (0), mis enamasti ei ole mõttekas. Siin on näide sellise valemi kohta:
=IF(B2>80, , "Bad")
Kui soovite selle asemel tagastada tühja lahtri, sisestage teise parameetrile tühi string (""), näiteks järgmiselt:
=IF(B2>80, "", "Bad")
Allpool olev ekraanipilt näitab erinevust:
Kui value_if_false on välja jäetud
Kui IF-i 3. parameeter jäetakse välja, saadakse järgmised tulemused, kui loogiline test annab tulemuseks FALSE.
Kui on ainult sulgev sulgur pärast value_if_true , tagastab IF funktsioon loogilise väärtuse FALSE. Üsna ootamatu, kas pole? Siin on näide sellise valemi kohta:
=IF(B2>80, "Hea")
Tippides koma pärast value_if_true argument sunnib Excelit tagastama 0, mis samuti ei ole eriti mõistlik:
=IF(B2>80, "Hea",)
Kõige mõistlikum lähenemisviis on kasutada nullpikkust stringi (""), et saada tühi lahter, kui tingimus ei ole täidetud:
=IF(B2>80, "Hea", "")
Vihje. Et tagastada loogiline väärtus, kui määratud tingimus on täidetud või ei ole täidetud, esitage TRUE jaoks value_if_true ja FALSE juhul, kui value_if_false Selleks, et tulemused oleksid Boole'i väärtused, mida teised Exceli funktsioonid saavad ära tunda, ärge sulgege TRUE ja FALSE jutumärkidesse, sest see muudab need tavalisteks tekstiväärtusteks.
IF-funktsiooni kasutamine Excelis - valemite näited
Nüüd, kui olete tuttav IF-funktsiooni süntaksiga, vaatame mõned valemite näited ja õpime kasutama Kui siis avaldused reaalsetes stsenaariumides.
Exceli IF-funktsioon koos numbritega
Arvude IF avalduse koostamiseks kasuta loogilisi operaatoreid, näiteks:
- Võrdne (=)
- Ei ole võrdne ()
- Suurem kui (>)
- Suurem või võrdne (>=)
- Vähem kui (<)
- Väiksem või võrdne (<=)
Eespool nägite juba näite sellise valemi kohta, mis kontrollib, kas arv on suurem kui antud arv.
Ja siin on valem, mis kontrollib, kas lahter sisaldab lahtrit negatiivne arv :
=IF(B2<0, "Invalid", "")
Negatiivsete numbrite (mis on väiksemad kui 0) puhul annab valem tagasi "Invalid"; nullide ja positiivsete numbrite puhul - tühi lahter.
Exceli IF-funktsioon koos tekstiga
Tavaliselt kirjutatakse tekstiväärtuste jaoks IF avaldis, kasutades kas "võrdne" või "mitte võrdne" operaatorit.
Näiteks järgmise valemiga kontrollitakse Tarne staatus aastal B2, et teha kindlaks, kas meede on vajalik või mitte:
=IF(B2="tarnitud", "Ei", "Jah")
Selgesõnaliselt tõlgituna ütleb valem: tagasta "Ei", kui B2 on võrdne "tarnitud", muidu "Jah".
Teine võimalus sama tulemuse saavutamiseks on kasutada operaatorit "ei ole võrdne" ja vahetada value_if_true ja value_if_false väärtused:
=IF(C2 "tarnitud", "Jah", "Ei")
Märkused:
- Kui kasutate IF-i parameetrite jaoks tekstiväärtusi, ärge unustage neid alati ümbritseda sõnadega kahekordsed jutumärgid .
- Nagu enamik teisi Exceli funktsioone, IF on vaikimisi suur- ja väiketähtede suhtes tundmatu Ülaltoodud näites ei tehta vahet "tarnitud", "tarnitud" ja "tarnitud" vahel.
Suur- ja väiketähtedega IF avaldis teksti väärtuste jaoks
Suur- ja väiketähtede käsitlemiseks erinevate tähtedena kasutage IF koos suur- ja väiketähtedest sõltuva funktsiooniga EXACT.
Näiteks, et tagastada "Ei" ainult siis, kui B2 sisaldab "DELIVERED" (suurtähtedega), kasutate seda valemit:
=IF(EXACT(B2, "DELIVERED"), "No", "Yes")
Kui lahter sisaldab osalist teksti
Olukorras, kus te soovite, et tingimus põhineks osaline kokkulangevus asemel täpne vaste, tuleb kohe meelde, et loogilises testis kasutatakse metsikuid sümboleid. Kuid see lihtne ja ilmne lähenemine ei toimi. Paljud funktsioonid aktsepteerivad metsikuid sümboleid, kuid kahjuks ei kuulu IF nende hulka.
Töötav lahendus on kasutada IF koos ISNUMBER ja SEARCH (suur- ja väiketähtedeta) või FIND (suur- ja väiketähtedeta).
Näiteks juhul, kui "Ei" tegevus on vajalik nii "Kohaletoimetatud" kui ka "Väljasaadetud" objektide puhul, toimib järgmine valem:
=IF(ISNUMBER(SEARCH("deliv", B2)), "No", "Yes")
Lisateabe saamiseks vt:
- Exceli IF avalduse osalise teksti vaste jaoks
- Kui lahter sisaldab siis
Exceli IF avalduse kuupäevadega
Esmapilgul võib tunduda, et IF-vormelid kuupäevade jaoks on sarnased IF-avaldustega numbriliste ja tekstiväärtuste jaoks. Kahjuks ei ole see nii. Erinevalt paljudest teistest funktsioonidest tunneb IF kuupäevi loogilistes testides ära ja tõlgendab neid lihtsalt tekstijoontena. Teisisõnu, te ei saa esitada kuupäeva kujul "1/1/2020" või ">1/1/2020". Et IF-funktsioon tunneks kuupäeva ära, peate selle mähkimiseks kasutamafunktsioon DATEVALUE.
Näiteks saate kontrollida, kas antud kuupäev on suurem kui teine kuupäev:
=IF(B2>DATEVALUE("7/18/2022"), "Coming soon", "Completed")
See valem hindab veerus B olevaid kuupäevi ja tagastab "Coming soon", kui mäng on planeeritud 18. juuliks 2022 või hiljem, "Completed", kui see on varasem kuupäev.
Loomulikult ei takista miski sisestamast sihtkuupäeva eelnevalt määratud lahtrisse (näiteks E2) ja viitamast sellele lahtrisse. Lihtsalt ärge unustage lukustada lahtri aadressi $-märgiga, et muuta see absoluutseks viiteks. Näiteks:
=IF(B2>$E$2, "Coming soon", "Completed")
Et võrrelda kuupäeva praegune kuupäev , kasutage funktsiooni TODAY(). Näiteks:
=IF(B2>TODAY(), "Coming soon", "Completed")
Exceli IF avaldused tühikute ja mitte tühikute jaoks
Kui soovite kuidagi märkida oma andmeid selle põhjal, kas teatud lahter(id) on tühjad või mitte, saate kas:
- Kasutage funktsiooni IF koos ISBLANK või
- Kasutage loogilisi väljendeid (võrdne tühi) või "" (ei ole võrdne tühi).
Alljärgnevas tabelis selgitatakse nende kahe lähenemisviisi erinevust valemite näidetega.
Loogiline test | Kirjeldus | Valemi näide | |
Tühjad lahtrid | ="" | Saab väärtuse TRUE, kui lahter on visuaalselt tühi, isegi kui see sisaldab lahtrit. nullpikkune string . Vastasel juhul annab tulemuseks FALSE. | =IF(A1="", 0, 1) |
Tagastab 0, kui A1 on visuaalselt tühi. Vastasel juhul tagastab 1.
Kui A1 sisaldab tühja stringi (""), annab valem tagasi 0.
Hinnatakse TRUE on lahter sisaldab absoluutselt mitte midagi - ei mingeid valemeid, tühikuid ega tühikuid.
Vastasel juhul annab tulemuseks FALSE.
Tagastab 0, kui A1 on absoluutselt tühi, muidu 1.
Kui A1 sisaldab tühja stringi (""), annab valem tagasi 1.
Rakud koos nullpikkused stringid peetakse tühi .
Tagastab 1, kui A1 ei ole tühi; vastasel juhul 0.
Kui A1 sisaldab tühja stringi, annab valem tagasi 0.
Rakud koos nullpikkused stringid peetakse mitte tühi .
Toimib samamoodi nagu ülaltoodud valem, kuid tagastab 1, kui A1 sisaldab tühja stringi.
Ja nüüd näeme tühje ja mitte tühje IF-avaldusi tegevuses. Oletame, et veerus B on kuupäev ainult siis, kui mõni mäng on juba mängitud. Lõpetatud mängude märgistamiseks kasutage ühte järgmistest valemitest:
=IF(B2="", "", "Lõpetatud")
=IF(ISBLANK(B2), "", "Lõpetatud")
=IF($B2"", "Lõpetatud", "")
=IF(ISBLANK($B2)=FALSE, "Lõpetatud", "")
Kui testitud lahtrites ei ole nullpikkust, annavad kõik valemid täpselt samu tulemusi:
Kontrollida, kas kaks lahtrit on samad
Valemi loomiseks, mis kontrollib kahe lahtri kokkulangevust, võrdle lahtreid, kasutades võrdusmärki (=) loogilises testis IF. Näiteks:
=IF(B2=C2, "Sama tulemus", "")
Selleks, et kontrollida, kas kaks lahtrit sisaldavad sama teksti, kaasa arvatud tähtede suurust, muutke oma IF-valem funktsiooni EXACT abil suurustundlikuks.
Näiteks, et võrrelda paroole A2 ja B2 ja tagastab "Match", kui kaks stringid on täpselt samad, "Do not match" muidu, valem on:
=IF(EXACT(A2, B2), "Vastab", "Ei vasta")
IF siis valemiga, et käivitada teine valem
Kõigis eelnevates näidetes andis Exceli IF avaldis tagasi väärtusi. Kuid see võib ka teha teatud arvutuse või täita teise valemi, kui konkreetne tingimus on täidetud või ei ole täidetud. Selleks põimige mõni teine funktsioon või aritmeetiline väljendus sisse value_if_true ja/või value_if_false argumendid.
Näiteks kui B2 on suurem kui 80, siis korrutame selle 7%-ga, vastasel juhul 3%-ga:
=IF(B2>80, B2*7%, B2*3%)
Mitu IF avaldust Excelis
Sisuliselt on Excelis kaks võimalust mitme IF-avalduse kirjutamiseks:
- Mitme IF-funktsiooni järjestamine üksteise sisse
- AND- või OR-funktsiooni kasutamine loogilises testis
Sisestatud IF avaldis
Sisestatud IF-funktsioonid võimaldavad paigutada ühte lahtrisse mitu IF-avaldust, st testida ühes valemis mitu tingimust ja tagastada erinevaid väärtusi sõltuvalt nende testide tulemustest.
Oletame, et teie eesmärk on määrata erinevaid boonuseid vastavalt punktisummale:
- Üle 90 - 10%
- 90 kuni 81 - 7%
- 80 kuni 70 - 5%
- Alla 70 - 3%
Ülesande täitmiseks kirjutate 3 eraldi IF-funktsiooni ja pesastate need üksteise sisse, näiteks nii:
=IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%)))
Rohkem valemite näiteid vt:
- Exceli sisseehitatud IF-vormel
- Sisestatud IF-funktsioon: näited, parimad tavad ja alternatiivid
Exceli IF avalduse mitme tingimusega
Mitme tingimuse hindamiseks AND- või OR-loogika abil tuleb vastav funktsioon põimida loogilisse testi:
- AND - tagastab TRUE, kui kõik tingimused on täidetud.
- VÕI - tagastab TRUE, kui mis tahes tingimused on täidetud.
Näiteks, kui mõlemad B2 ja C2 hinded on suuremad kui 80, on valem "Pass":
=IF(AND(B2>80, C2>80), "Pass", "Fail")
"Pass" saamiseks, kui kumbki tulemus on suurem kui 80, on valem järgmine:
=IF(OR(B2>80, C2>80), "Pass", "Fail")
Täieliku teabe saamiseks külastage veebilehte:
- IF AND valem Excelis
- Exceli IF OR funktsioon koos valemiga näited
Kui viga Excelis
Alates Excel 2007-st on meil olemas spetsiaalne funktsioon nimega IFERROR, et kontrollida valemeid vigade suhtes. Excel 2013 ja uuemates versioonides on olemas ka funktsioon IFNA, et käsitleda #N/A vigu.
Ja ikkagi võib olla olukordi, kus IF funktsiooni kasutamine koos ISERROR või ISNA on parem lahendus. Põhimõtteliselt on IF ISERROR valem, mida kasutada siis, kui soovite midagi tagastada, kui esineb viga ja midagi muud, kui viga ei esine. IFERROR funktsioon ei suuda seda teha, sest ta tagastab alati põhivalemi tulemuse, kui see ei ole viga.
Näiteks, et võrrelda iga tulemust veerus B kolme parima tulemusega veerus E2:E4 ja tagastada "Jah", kui on leitud vastavus, ja "Ei", kui mitte, sisestate selle valemi C2-sse ja seejärel kopeerite selle alla kuni C7-sse:
=IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Ei", "Jah" )
Lisateavet leiate valemist IF ISERROR Excelis.
Loodetavasti on meie näited aidanud teil Exceli IF-i põhitõdedest aru saada. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!
Praktiline töövihik
Exceli IF avalduse - valemi näited (.xlsx fail)