IF-toiminto Excelissä: kaavaesimerkkejä tekstille, numeroille, päivämäärille, tyhjilleen jättämiselle

  • Jaa Tämä
Michael Brown

Tässä artikkelissa opit, miten Excelin IF-lauseen voi rakentaa erityyppisille arvoille ja miten luoda useita IF-lauseita.

IF on yksi Excelin suosituimmista ja hyödyllisimmistä funktioista. Yleensä IF-lauseella testataan ehtoa ja palautetaan yksi arvo, jos ehto täyttyy, ja toinen arvo, jos ehto ei täyty.

Tässä opetusohjelmassa opettelemme Excelin IF-funktion syntaksin ja yleiset käyttötavat ja tarkastelemme sitten tarkemmin kaavaesimerkkejä, jotka toivottavasti ovat hyödyllisiä sekä aloittelijoille että kokeneille käyttäjille.

    IF-toiminto Excelissä

    IF on yksi loogisista funktioista, joka arvioi tietyn ehdon ja palauttaa yhden arvon, jos ehto on TODELLINEN, ja toisen arvon, jos ehto on VÄÄRÄ.

    IF-funktion syntaksi on seuraava:

    IF(logical_test, [value_if_true], [value_if_false])

    Kuten näet, IF ottaa yhteensä kolme argumenttia, mutta vain ensimmäinen on pakollinen, kaksi muuta ovat valinnaisia.

    Looginen_testi (pakollinen) - testattava ehto. Voidaan arvioida joko TRUE tai FALSE.

    Arvo_jos_tosi (valinnainen) - arvo, joka palautetaan, kun loogisen testin tulokseksi tulee TRUE, eli ehto täyttyy. Jos se jätetään pois, on value_if_false argumentti on määriteltävä.

    Arvo_jos_väärin (valinnainen) - arvo, joka palautetaan, kun loogisen testin tulokseksi tulee FALSE, eli ehto ei täyty. Jos se jätetään pois, on value_if_true argumentin on oltava asetettu.

    Basic IF-kaava Excelissä

    Luoda yksinkertainen Jos sitten lauseketta Excelissä, sinun on tehtävä näin:

    • Osoitteessa looginen_testi , kirjoita lauseke, joka palauttaa joko TRUE tai FALSE. Tavallisesti käytät tähän jotakin loogista operaattoria.
    • Osoitteessa value_if_true määrittää, mitä palautetaan, kun loogisen testin tulokseksi tulee TRUE.
    • Osoitteessa value_if_false , määritä, mitä palautetaan, kun looginen testi on FALSE. Vaikka tämä argumentti on valinnainen, suosittelemme, että se määritetään aina odottamattomien tulosten välttämiseksi. Yksityiskohtainen selitys on kohdassa Excel IF: asioita, jotka on hyvä tietää.

    Kirjoitetaan esimerkiksi hyvin yksinkertainen IF-kaava, joka tarkistaa A2-solun arvon ja palauttaa arvon "Hyvä", jos arvo on suurempi kuin 80, ja "Huono", jos arvo on suurempi kuin 80:

    =IF(B2>80, "Hyvä", "Huono")

    Tämä kaava siirtyy C2:een ja kopioidaan sitten alaspäin C7:n kautta:

    Jos haluat palauttaa arvon vain silloin, kun ehto täyttyy (tai ei täyty), ja muuten - ei mitään, käytä tyhjää merkkijonoa ("") argumentin "undefined" tilalla. Esimerkiksi:

    =IF(B2>80, "Hyvä", "")

    Tämä kaava palauttaa arvon "Hyvä", jos A2:n arvo on suurempi kuin 80, ja muuten tyhjän solun:

    Excel If then -kaava: asioita, jotka on hyvä tietää

    Vaikka IF-funktion kaksi viimeistä parametria ovat valinnaisia, kaava voi tuottaa odottamattomia tuloksia, jos et tunne taustalla olevaa logiikkaa.

    Jos value_if_true jätetään pois.

    Jos Excelin IF-kaavan toinen argumentti jätetään pois (eli loogisen testin jälkeen on kaksi peräkkäistä pilkkua), saat tulokseksi nolla (0), kun ehto täyttyy, mikä ei ole useimmissa tapauksissa järkevää. Tässä on esimerkki tällaisesta kaavasta:

    =IF(B2>80, , "Huono")

    Jos haluat sen sijaan palauttaa tyhjän solun, anna tyhjä merkkijono ("") toiseksi parametriksi näin:

    =IF(B2>80, "", "Bad")

    Alla oleva kuvakaappaus osoittaa eron:

    Jos value_if_false on jätetty pois.

    IF:n kolmannen parametrin jättäminen pois tuottaa seuraavat tulokset, kun loogisen testin tulokseksi tulee FALSE.

    Jos on vain sulkeutuva sulku value_if_true , IF-funktio palauttaa loogisen arvon FALSE. Aika odottamatonta, eikö olekin? Tässä on esimerkki tällaisesta kaavasta:

    =IF(B2>80, "Hyvä")

    Kirjoittamalla pilkku merkin value_if_true argumentti pakottaa Excelin palauttamaan 0, mikä ei myöskään ole kovin järkevää:

    =IF(B2>80, "Hyvä",)

    Järkevin lähestymistapa on käyttää nollapituista merkkijonoa ("") tyhjän solun saamiseksi, kun ehto ei täyty:

    =IF(B2>80, "Hyvä", "")

    Vihje. Jos haluat palauttaa loogisen arvon, kun määritetty ehto täyttyy tai ei täyty, anna TRUE arvolle value_if_true ja FALSE, kun kyseessä on value_if_false Jotta tulokset olisivat Boolean-arvoja, jotka muut Excel-funktiot voivat tunnistaa, älä sulje TRUE- ja FALSE-arvoja lainausmerkkien sisään, koska tämä muuttaa ne tavallisiksi tekstiarvoiksi.

    IF-funktion käyttäminen Excelissä - kaavaesimerkkejä

    Nyt kun olet tutustunut IF-funktion syntaksiin, katsotaanpa joitakin kaavaesimerkkejä ja opitaan käyttämään seuraavia toimintoja Jos sitten lausunnot tosielämän skenaarioissa.

    Excelin IF-toiminto numeroiden kanssa

    Jos haluat muodostaa IF-lauseen numeroita varten, käytä loogisia operaattoreita, kuten:

    • Yhtä suuri kuin (=)
    • Ei yhtä suuri kuin ()
    • Suurempi kuin (>)
    • Suurempi tai yhtä suuri kuin (>=)
    • Alle (<)
    • Pienempi tai yhtä suuri kuin (<=)

    Edellä on jo nähty esimerkki tällaisesta kaavasta, jossa tarkistetaan, onko luku suurempi kuin tietty luku.

    Ja tässä on kaava, joka tarkistaa, sisältääkö solu merkin negatiivinen luku :

    =IF(B2<0, "Invalid", "")

    Negatiivisille luvuille (jotka ovat pienempiä kuin 0) kaava palauttaa "Invalid"; nollille ja positiivisille luvuille - tyhjä solu.

    Excelin IF-toiminto tekstin kanssa

    Tavallisesti kirjoitat IF-lauseen tekstiarvoille käyttäen joko "yhtä suuri kuin" tai "ei yhtä suuri kuin" -operaattoria.

    Esimerkiksi seuraava kaava tarkistaa Toimituksen tila B2-luokassa sen määrittämiseksi, onko jokin toimenpide tarpeen vai ei:

    =IF(B2="toimitettu", "Ei", "Kyllä")

    Selkokielelle käännettynä kaava sanoo: palauta "Ei", jos B2 on yhtä suuri kuin "toimitettu", "Kyllä" muuten.

    Toinen tapa saavuttaa sama tulos on käyttää "not equal to" -operaattoria ja vaihtaa arvot "not equal to" ja "not equal to". value_if_true ja value_if_false arvot:

    =IF(C2 "toimitettu", "Kyllä", "Ei")

    Huomautuksia:

    • Kun käytät tekstiarvoja IF:n parametreissa, muista aina sulkea ne sisäänsä kaksinkertaiset lainausmerkit .
    • Kuten useimmat muutkin Excelin toiminnot, IF on oletusarvoisesti case-insensitive Yllä olevassa esimerkissä se ei tee eroa sanojen "delivered", "Delivered" ja "DELIVERED" välillä.

    Case-sensitive IF-lause tekstiarvoille

    Jos haluat käsitellä isoja ja pieniä kirjaimia eri merkkeinä, käytä IF-toimintoa yhdessä suur- ja pienaakkoset huomioivan EXACT-toiminnon kanssa.

    Jos haluat esimerkiksi palauttaa "Ei" vain silloin, kun B2 sisältää "DELIVERED" (isolla alkukirjaimella), käytä tätä kaavaa:

    =IF(EXACT(B2, "TOIMITETTU"), "Ei", "Kyllä")

    Jos solu sisältää osittaista tekstiä

    Tilanteessa, jossa edellytyksen perustana on osittainen ottelu tarkan vastaavuuden sijaan, tulee heti mieleen käyttää jokerimerkkejä loogisessa testissä. Tämä yksinkertainen ja ilmeinen lähestymistapa ei kuitenkaan toimi. Monet funktiot hyväksyvät jokerimerkkejä, mutta valitettavasti IF ei ole yksi niistä.

    Toimiva ratkaisu on käyttää IF:ää yhdessä ISNUMBERin ja SEARCH:in (case-insensitive) tai FIND:in (case-sensitive) kanssa.

    Jos esimerkiksi "Ei" -toimintoa vaaditaan sekä "Toimitettu" että "Toimitettavaksi" -kohteiden osalta, seuraava kaava toimii hyvin:

    =IF(ISNUMBER(SEARCH("deliv", B2)), "Ei", "Kyllä")

    Lisätietoja on osoitteessa:

    • Excelin IF-lause osittaista tekstiä varten
    • Jos solu sisältää sitten

    Excelin IF-lause päivämäärien kanssa

    Ensisilmäyksellä saattaa vaikuttaa siltä, että päivämääriä koskevat IF-kaavat ovat samankaltaisia kuin numeerisia ja tekstiarvoja koskevat IF-lausekkeet. Valitettavasti näin ei ole. Toisin kuin monet muut funktiot, IF tunnistaa päivämäärät loogisissa testeissä ja tulkitsee ne pelkkinä tekstijonoina. Toisin sanoen et voi antaa päivämäärää muodossa "1/1/2020" tai ">1/1/2020". Jotta IF-funktio tunnistaisi päivämäärän, sinun on paketoitava se seuraavaan tekstiinDATEVALUE-funktio.

    Voit esimerkiksi tarkistaa näin, onko tietty päivämäärä suurempi kuin toinen päivämäärä:

    =IF(B2>DATEVALUE("7/18/2022"), "Tulossa pian", "Valmistunut")

    Tämä kaava arvioi sarakkeessa B olevat päivämäärät ja palauttaa arvon "Tulossa", jos peli on suunniteltu 18.7.2022 tai myöhemmin, ja arvon "Valmistunut", jos se on aiemmin.

    Mikään ei tietenkään estä sinua syöttämästä kohdepäivämäärää ennalta määritettyyn soluun (esimerkiksi E2) ja viittaamasta kyseiseen soluun. Muista vain lukita solun osoite $-merkillä, jotta se on absoluuttinen viittaus. Esimerkiksi:

    =IF(B2>$E$2, "Coming soon", "Completed")

    Päivämäärän vertaaminen nykyinen päivämäärä , käytä funktiota TODAY(). Esimerkiksi:

    =IF(B2>TODAY(), "Coming soon", "Completed")

    Excelin IF-lauseke aihioille ja muille kuin aihioille

    Jos haluat jotenkin merkitä tietosi sen perusteella, onko tietty solu tai solut tyhjiä vai ei, voit joko:

    • Käytä IF-toimintoa yhdessä ISBLANK-toiminnon kanssa tai
    • Käytä loogisia lausekkeita (yhtä suuri kuin tyhjä) tai "" (ei yhtä suuri kuin tyhjä).

    Alla olevassa taulukossa selitetään näiden kahden lähestymistavan ero kaavaesimerkkien avulla.

    Looginen testi Kuvaus Kaava Esimerkki
    Tyhjät solut =""

    Arvioidaan TRUE:ksi, jos solu on visuaalisesti tyhjä, vaikka se sisältäisikin nollapituinen merkkijono .

    Muussa tapauksessa arvioksi tulee FALSE.

    =IF(A1="", 0, 1)

    Palauttaa 0, jos A1 on visuaalisesti tyhjä. Muuten palauttaa 1.

    Jos A1 sisältää tyhjän merkkijonon (""), kaava palauttaa arvon 0. ISBLANK()

    Arvioidaan TRUE:ksi, jos solu sisältää ei yhtään mitään - ei kaavoja, ei välilyöntejä, ei tyhjiä merkkijonoja.

    Muussa tapauksessa arvioksi tulee FALSE.

    =IF(ISBLANK(A1), 0, 1)

    Palauttaa 0, jos A1 on täysin tyhjä, muuten 1.

    Jos A1 sisältää tyhjän merkkijonon (""), kaava palauttaa arvon 1. Muut kuin tyhjät solut "" Arvioidaan arvoksi TRUE, jos solu sisältää tietoja. Muussa tapauksessa arvoksi tulee FALSE.

    Solut, joissa on nollapituiset merkkijonot katsotaan tyhjä . =IF(A1"", 1, 0)

    Palauttaa arvon 1, jos A1 ei ole tyhjä; muutoin 0.

    Jos A1 sisältää tyhjän merkkijonon, kaava palauttaa arvon 0. ISBLANK()=FALSE Arvioidaan arvoksi TRUE, jos solu ei ole tyhjä. Muussa tapauksessa arvoksi tulee FALSE.

    Solut, joissa on nollapituiset merkkijonot katsotaan ei tyhjä . =IF(ISBLANK(A1)=FALSE, 0, 1)

    Toimii samoin kuin edellä oleva kaava, mutta palauttaa 1, jos A1 sisältää tyhjän merkkijonon.

    Ja nyt katsotaan tyhjiä ja ei-yhjiä IF-lausekkeita toiminnassa. Oletetaan, että sarakkeessa B on päivämäärä vain, jos peli on jo pelattu. Voit merkitä päättyneet pelit käyttämällä yhtä seuraavista kaavoista:

    =IF(B2="", "", "Valmistunut")

    =IF(ISBLANK(B2), "", "Valmistunut")

    =IF($B2"", "Valmis", "")

    =IF(ISBLANK($B2)=FALSE, "Completed", "")

    Jos testatuissa soluissa ei ole nollapituisia merkkijonoja, kaikki kaavat antavat täsmälleen samat tulokset:

    Tarkista, ovatko kaksi solua samat

    Jos haluat luoda kaavan, joka tarkistaa, että kaksi solua täsmää, vertaa soluja käyttämällä yhtäläisyysmerkkiä (=) loogisessa testissä IF. Esimerkiksi:

    =IF(B2=C2, "Sama pistemäärä", "")

    Jos haluat tarkistaa, sisältävätkö kaksi solua samaa tekstiä, myös kirjainkirjaimet, tee IF-kaavasta suuraakkoset huomioiva EXACT-toiminnon avulla.

    Esimerkiksi, jos haluat verrata salasanoja A2 ja B2 ja palauttaa "Match", jos kaksi merkkijonoa ovat täsmälleen samat, "Do not match" muuten, kaava on:

    =IF(EXACT(A2, B2), "täsmää", "ei täsmää")

    IF sitten kaava ajaa toisen kaavan

    Kaikissa edellisissä esimerkeissä Excelin IF-lause palautti arvoja. Se voi kuitenkin myös suorittaa tietyn laskutoimituksen tai suorittaa toisen kaavan, kun tietty ehto täyttyy tai ei täyty. Tätä varten upota toinen funktio tai aritmeettinen lauseke kohtaan value_if_true ja/tai value_if_false argumentit.

    Jos esimerkiksi B2 on suurempi kuin 80, se kerrotaan 7 %:lla, muuten 3 %:lla:

    =IF(B2>80, B2*7%, B2*3%)

    Useita IF-lausekkeita Excelissä

    Excelissä on periaatteessa kaksi tapaa kirjoittaa useita IF-lausekkeita:

    • Useiden IF-funktioiden asettaminen toisiinsa
    • AND- tai OR-funktion käyttäminen loogisessa testissä

    Sisäkkäinen IF-lause

    Sisäkkäisten IF-funktioiden avulla voit sijoittaa useita IF-lausekkeita samaan soluun, eli testata useita ehtoja yhdessä kaavassa ja palauttaa eri arvoja testien tuloksista riippuen.

    Oletetaan, että tavoitteenasi on antaa erilaisia bonuksia pistemäärän perusteella:

    • Yli 90 - 10%
    • 90-81 - 7%
    • 80-70 - 5%
    • Alle 70 - 3%

    Tehtävän suorittamiseksi kirjoitat 3 erillistä IF-funktiota ja sijoitat ne toisiinsa seuraavasti:

    =IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))))

    Lisää kaavaesimerkkejä löydät osoitteesta:

    • Excelin sisäkkäinen IF-kaava
    • Sisäkkäiset IF-funktiot: esimerkkejä, parhaat käytännöt ja vaihtoehdot

    Excelin IF-lause useilla ehdoilla

    Jos haluat arvioida useita ehtoja AND- tai OR-logiikalla, upota vastaava funktio loogiseen testiin:

    • AND - palauttaa TRUE, jos kaikki edellytykset täyttyvät.
    • OR - palauttaa TRUE, jos kaikki yksi edellytyksistä täyttyy.

    Esimerkiksi, jos palautetaan "hyväksytty", jos molemmat B2- ja C2-pisteet ovat yli 80, kaava on seuraava:

    =IF(AND(B2>80, C2>80), "hyväksytty", "hylätty")

    Jos jompikumpi pistemäärä on yli 80, saat "Pass", kaava on seuraava:

    =IF(OR(B2>80, C2>80), "hyväksytty", "hylätty")

    Tarkemmat tiedot löydät osoitteesta:

    • IF AND -kaava Excelissä
    • Excelin IF OR -toiminto kaavan esimerkkien kanssa

    Jos virhe Excelissä

    Excel 2007:stä alkaen on erityinen IFERROR-funktio, jolla voidaan tarkistaa kaavojen virheet. Excel 2013:ssa ja sitä uudemmissa ohjelmissa on myös IFNA-funktio, jolla voidaan käsitellä #N/A-virheitä.

    Silti voi olla tilanteita, joissa IF-funktion käyttäminen yhdessä ISERROR- tai ISNA-funktion kanssa on parempi ratkaisu. Periaatteessa IF ISERROR on kaava, jota kannattaa käyttää silloin, kun halutaan palauttaa jotain, jos tapahtuu virhe, ja jotain muuta, jos ei tapahdu virhettä. IFERROR-funktio ei pysty tähän, koska se palauttaa aina pääkaavan tuloksen, jos se ei ole virhe.

    Jos esimerkiksi haluat verrata sarakkeen B jokaista pistemäärää sarakkeiden E2:E4 kolmeen parhaaseen pistemäärään ja palauttaa "Kyllä", jos vastaavuus löytyy, ja "Ei" muussa tapauksessa, syötä tämä kaava kohtaan C2 ja kopioi se sitten alaspäin sarakkeeseen C7:

    =IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Ei", "Kyllä" )

    Lisätietoja on kohdassa IF ISERROR -kaava Excelissä.

    Toivottavasti esimerkkimme ovat auttaneet sinua ymmärtämään Excelin IF-perusteet. Kiitän sinua lukemisesta ja toivottavasti tapaamme blogissamme ensi viikolla!

    Harjoitustyökirja

    Excelin IF-lause - kaavaesimerkkejä (.xlsx-tiedosto)

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.