Excelin IF-funktio useilla ehdoilla

  • Jaa Tämä
Michael Brown

Ohjeessa näytetään, miten Excelissä luodaan useita JOS-lauseet AND- ja OR-logiikalla. Lisäksi opit käyttämään JOS-lauseita yhdessä muiden Excelin funktioiden kanssa.

Excelin IF-oppaan ensimmäisessä osassa tarkastelimme, miten rakentaa yksinkertainen IF-lause, jossa on yksi ehto tekstille, numeroille, päivämäärille, tyhjille ja ei-yhjille. Tehokkaassa data-analyysissä sinun on kuitenkin usein arvioitava useita ehtoja kerrallaan. Alla olevat kaavaesimerkit näyttävät sinulle tehokkaimmat tavat tehdä tämä.

    Kuinka käyttää IF-funktiota useiden ehtojen kanssa

    Pohjimmiltaan on olemassa kahdenlaisia IF-kaava, jossa on useita AND / OR-logiikkaan perustuvia kriteerejä. Näin ollen IF-kaavan loogisessa testissä on käytettävä jotakin näistä funktioista:

    • AND-funktio - palauttaa TRUE, jos kaikki edellytykset täyttyvät; muuten FALSE.
    • OR-funktio - palauttaa TRUE, jos mikä tahansa yksittäinen ehto täyttyy; muuten FALSE.

    Asiaa havainnollistetaan paremmin tutkimalla joitakin esimerkkejä todellisista kaavoista.

    Excelin IF-lause, jossa on useita ehtoja (AND-logiikka)

    Excelin yleinen kaava IF kahdella tai useammalla ehdolla on seuraava:

    IF(AND( ehto1 , ehto2 , ...), value_if_true, value_if_false)

    Ihmiskielelle käännettynä kaava sanoo: Jos ehto 1 on tosi JA ehto 2 on tosi, palauta. value_if_true ; else return value_if_false .

    Oletetaan, että sinulla on taulukko, jonka sarakkeissa B ja C on lueteltu kahden kokeen pisteet. Jotta opiskelija läpäisee loppukokeen, hänen molempien pisteiden on oltava yli 50.

    Loogisessa testissä käytetään seuraavaa AND-lauseen lauseketta: AND(B2>50, C2>50).

    Jos molemmat ehdot ovat totta, kaava antaa tulokseksi "Hyväksytty"; jos jompikumpi ehto on väärä - "Hylätty".

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

    Helppoa, eikö olekin? Alla oleva kuvakaappaus todistaa, että Excelin IF /AND-kaava toimii oikein:

    Vastaavalla tavalla voit käyttää Excelin IF-funktiota useiden eri vaihtoehtojen kanssa. tekstiolosuhteet .

    Jos esimerkiksi halutaan tulostaa "Hyvä", jos sekä B2 että C2 ovat suurempia kuin 50, ja "Huono" muuten, kaava on seuraava:

    =IF(AND(B2="hyväksytty", C2="hyväksytty"), "Hyvä!", "Huono")

    Tärkeä huomautus! AND-funktio tarkistaa kaikki edellytykset Tällainen käyttäytyminen on hieman epätavallista, sillä useimmissa ohjelmointikielissä seuraavia ehtoja ei testata, jos jokin edellisistä testeistä on antanut tulokseksi FALSE.

    Käytännössä näennäisesti oikea IF-lauseke voi johtaa virheeseen tämän erityispiirteen vuoksi. Esimerkiksi alla oleva kaava palauttaisi #DIV/0! ("jaa nollalla" -virhe), jos solun A2 arvo on 0:

    =IF(AND(A20, (1/A2)>0.5), "Hyvä", "Huono")

    Tämän välttämiseksi kannattaa käyttää sisäkkäistä IF-funktiota:

    =IF(A20, IF((1/A2)>0.5, "Hyvä", "Huono")), "Huono")

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

    Excelin IF-funktio useilla ehdoilla (OR-logiikka)

    tehdä yksi asia, jos mikä tahansa ehto täyttyy, muuten tee jotain muuta, käytä tätä IF- ja OR-funktioiden yhdistelmää:

    IF(OR( ehto1 , ehto2 , ...), value_if_true, value_if_false)

    Erona edellä käsiteltyyn IF / AND-kaavaan on se, että Excel palauttaa arvon TRUE, jos jokin määritetyistä ehdoista on tosi.

    Jos siis edellisessä kaavassa käytämme AND:n sijasta OR:ää:

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

    Silloin jokainen, joka saa yli 50 pistettä kummassakin kokeessa, saa sarakkeeseen D merkinnän "hyväksytty". Tällaisilla edellytyksillä opiskelijoillamme on paremmat mahdollisuudet läpäistä loppukoe (Yvette on erityisen epäonninen, sillä hän reputti vain yhden pisteen :)).

    Vihje. Jos olet luomassa useampi IF-lause tekstin kanssa ja testaamalla yhden solun arvoa TAI-logiikalla (eli solu voi olla "tämä" tai "tuo"), voit rakentaa kompaktimman kaavan käyttämällä array-vakiota.

    Jos esimerkiksi haluat merkitä myynnin "päättyneeksi", jos solussa B2 on joko "toimitettu" tai "maksettu", kaava on seuraava:

    =IF(OR(B2={"toimitettu", "maksettu"}), "Suljettu", "")

    Lisää kaavaesimerkkejä löytyy Excelin IF OR -toiminnosta.

    IF useiden AND & OR-lausekkeiden kanssa

    Jos tehtäväsi edellyttää useiden useiden ehtojen arviointia, sinun on käytettävä molempia AND & OR-funktioita kerrallaan.

    Oletetaan, että esimerkkitaulukossamme on seuraavat kriteerit tenttitulosten tarkistamista varten:

    • Ehto 1: tentti1>50 ja tentti2>50.
    • Ehto 2: tentti1>40 ja tentti2>60

    Jos jompikumpi edellytyksistä täyttyy, loppukoe katsotaan hyväksytyksi.

    Ensisilmäyksellä kaava vaikuttaa hieman hankalalta, mutta itse asiassa se ei ole sitä! Ilmaiset vain jokaisen edellä mainitun ehdon AND-lausekkeena ja sijoitat ne OR-funktioon (koska molempien ehtojen ei tarvitse täyttyä, kumpi tahansa riittää):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    Käytä sitten OR-funktiota IF:n loogista testiä varten ja anna haluttu value_if_true ja value_if_false Tuloksena saat seuraavan IF-kaavan, jossa on useita AND / OR-ehtoja:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "hyväksytty", "hylätty")

    Alla oleva kuvakaappaus osoittaa, että olemme tehneet kaavan oikein:

    Et tietenkään ole rajoitettu käyttämään vain kahta AND/OR-funktiota IF-kaavoissa, vaan voit käyttää niitä niin monta kuin liiketoimintalogiikkasi vaatii, kunhan:

    • Excel 2007:ssä ja sitä uudemmissa ohjelmissa on enintään 255 argumenttia, eikä IF-kaavan kokonaispituus saa ylittää 8 192 merkkiä.
    • Excel 2003:ssa ja sitä uudemmissa ohjelmissa argumentteja voi olla enintään 30, eikä IF-kaavan kokonaispituus saa ylittää 1024 merkkiä.

    Sisäkkäiset IF-lauseet useiden loogisten testien tarkistamiseksi

    Jos haluat arvioida useita loogisia testejä yhden kaavan sisällä, voit sijoittaa useita funktioita toisiinsa. Tällaisia funktioita kutsutaan nimellä sisäkkäiset IF-funktiot Ne ovat erityisen hyödyllisiä, kun haluat palauttaa eri arvoja loogisten testien tulosten mukaan.

    Tässä on tyypillinen esimerkki: oletetaan, että haluat luokitella opiskelijoiden saavutukset " Hyvä ", " Tyydyttävä " ja " Huono " seuraavien pisteytysten perusteella:

    • Hyvä: 60 tai enemmän (>=60)
    • Tyydyttävä: 40-60 (>40 ja <60)
    • Huono: 40 tai vähemmän (<=40)

    Ennen kuin kirjoitat kaavan, mieti, missä järjestyksessä funktioita aiot käyttää. Excel arvioi loogiset testit siinä järjestyksessä, jossa ne esiintyvät kaavassa. Kun ehto on arvioitu TRUE, seuraavia ehtoja ei testata, eli kaava pysähtyy ensimmäisen TRUE-tuloksen jälkeen.

    Meidän tapauksessamme funktiot on järjestetty suurimmasta pienimpään:

    =IF(B2>=60, "Hyvä", IF(B2>40, "Tyydyttävä", "Huono"))

    Tarvittaessa voit luonnollisesti sijoittaa lisää toimintoja (jopa 64 nykyaikaisissa versioissa).

    Lisätietoja on kohdassa Useiden sisäkkäisten IF-lausekkeiden käyttö Excelissä.

    Excelin IF-massakaava useilla ehdoilla

    Toinen tapa saada Excel IF testaamaan useita ehtoja on käyttää array-kaavaa.

    Jos haluat arvioida ehtoja AND-logiikalla, käytä tähteä:

    IF( ehto1 ) * ( ehto2 ) * ..., value_if_true, value_if_false)

    Jos haluat testata ehtoja OR-logiikalla, käytä plusmerkkiä:

    IF( ehto1 ) + ( ehto2 ) + ..., value_if_true, value_if_false)

    Jos haluat täydentää matriisikaavan oikein, paina Ctrl + Shift + Enter-näppäimiä yhdessä. Excel 365:ssä ja Excel 2021:ssä tämä toimii myös tavallisena kaavana dynaamisten matriisien tuen ansiosta.

    Jos esimerkiksi B2 ja C2 ovat molemmat yli 50, kaava on seuraava:

    =IF((B2>50) * (C2>50), "hyväksytty", "hylätty")

    Minun Excel 365:ssäni normaali kaava toimii hienosti (kuten näet yllä olevista kuvakaappauksista). Excel 2019:ssä ja sitä alemmissa versioissa muista tehdä siitä array-kaava käyttämällä Ctrl + Shift + Enter -pikanäppäintä.

    Arvioidaksesi useita ehtoja OR-logiikalla kaava on:

    =IF((B2>50) + (C2>50), "hyväksytty", "hylätty")

    IF:n käyttäminen yhdessä muiden toimintojen kanssa

    Tässä osassa selitetään, miten IF:ää käytetään yhdessä muiden Excel-funktioiden kanssa ja mitä etuja siitä on.

    Esimerkki 1. Jos VLOOKUPissa on #N/A-virhe.

    Kun VLOOKUP tai muu hakutoiminto ei löydä jotain, se palauttaa virheilmoituksen #N/A. Jotta taulukot näyttäisivät paremmilta, voit palauttaa nollan, tyhjän tai tietyn tekstin, jos #N/A. Käytä tätä yleistä kaavaa:

    IF(ISNA(VLOOKUP(...)), value_if_na , VLOOKUP(...)))

    Esimerkiksi:

    Jos #N/A palaa 0:

    Jos E1:n hakuarvoa ei löydy, kaava palauttaa nollan.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    Jos #N/A, palauta tyhjä:

    Jos hakuarvoa ei löydy, kaava ei palauta mitään (tyhjä merkkijono).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Jos #N/A palauttaa tietyn tekstin:

    Jos hakuarvoa ei löydy, kaava palauttaa tietyn tekstin.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Ei löydy", VLOOKUP(E1, A2:B10, 2, FALSE))

    Lisää kaavaesimerkkejä on osoitteessa VLOOKUP with IF statement in Excel.

    Esimerkki 2. IF ja SUM, AVERAGE, MIN ja MAX -funktiot.

    Excel tarjoaa SUMIF- ja SUMIFS-funktiot solujen arvojen summaamiseen tiettyjen kriteerien perusteella.

    Joissakin tilanteissa liiketoimintalogiikkasi voi vaatia SUMMA-funktion sisällyttämistä IF:n loogiseen testiin. Esimerkiksi, jos haluat palauttaa eri tekstitarrat riippuen B2:n ja C2:n arvojen summasta, kaava on:

    =IF(SUM(B2:C2)>130, "Hyvä", IF(SUM(B2:C2)>110, "Tyydyttävä", "Huono")))

    Jos summa on yli 130, tulos on "hyvä", jos yli 110 - "tyydyttävä", jos 110 tai vähemmän - "huono".

    Samalla tavalla voit upottaa AVERAGE-funktion IF:n loogiseen testiin ja palauttaa erilaisia merkintöjä keskiarvon perusteella:

    =IF(AVERAGE(B2:C2)>65, "Hyvä", IF(AVERAGE(B2:C2)>55, "Tyydyttävä", "Huono")))

    Jos oletetaan, että kokonaispistemäärä on sarakkeessa D, voit määrittää suurimman ja pienimmän arvon MAX- ja MIN-funktioiden avulla:

    =IF(D2=MAX($D$2:$D$10), "Paras tulos", "")

    =IF(D2=MAX($D$2:$D$10), "Paras tulos", "")

    Jos haluat molemmat merkinnät samaan sarakkeeseen, liitä edellä mainitut funktiot toisiinsa:

    =IF(D2=MAX($D$2:$D$10), "Paras tulos", IF(D2=MIN($D$2:$D$10), "Huonoin tulos", ""))

    Voit myös käyttää IF:ää yhdessä mukautettujen funktioiden kanssa. Voit esimerkiksi yhdistää sen GetCellColor- tai GetCellFontColor-toimintoihin palauttaaksesi erilaisia tuloksia solun värin perusteella.

    Lisäksi Excel tarjoaa useita funktioita tietojen laskemiseen ehtojen perusteella. Yksityiskohtaisia kaavaesimerkkejä saat seuraavista opetusohjelmista:

    • COUNTIF - laskee solut, jotka täyttävät ehdon.
    • COUNTIFS - laskee soluja useilla kriteereillä.
    • SUMIF - ehdollinen solujen yhteenlasku
    • SUMIFS - summaa solut, joissa on useita kriteerejä

    Esimerkki 3. IF ISNUMBERin, ISTEXTin ja ISBLANKin kanssa.

    Microsoft Excel tarjoaa tekstin, numeroiden ja tyhjien solujen tunnistamiseen erikoisfunktioita, kuten ISTEXT, ISNUMBER ja ISBLANK. Sijoittamalla ne kolmen sisäkkäisen IF-lausekkeen loogisiin testeihin voit tunnistaa kaikki eri tietotyypit yhdellä kertaa:

    =IF(ISTEXT(A2), "Teksti", IF(ISNUMBER(A2), "Luku", IF(ISBLANK(A2), "Tyhjä", "")))))

    Esimerkki 4. IF ja CONCATENATE

    Jos haluat tulostaa IF-toiminnon tuloksen ja jonkin tekstin yhteen soluun, käytä CONCATENATE- tai CONCAT- (Excel 2016 - 365) ja IF-toimintoja yhdessä. Esimerkiksi:

    =CONCATENATE("Suoritit ", IF(B1>100, "fantastinen!", IF(B1>50, "hyvin", "huonosti"))))

    =CONCAT("Suoritit ", IF(B1>100, "fantastinen!", IF(B1>50, "hyvin", "huonosti"))))

    Kun katsot alla olevaa kuvakaappausta, tuskin tarvitset selitystä siitä, mitä kaava tekee:

    IF ISERROR / ISNA -kaava Excelissä

    Nykyaikaisissa Excel-versioissa on erityisiä toimintoja, joilla virheet voidaan vangita ja korvata toisella laskutoimituksella tai ennalta määritetyllä arvolla: IFERROR (Excel 2007 ja uudemmat) ja IFNA (Excel 2013 ja uudemmat). Aikaisemmissa Excel-versioissa voit käyttää sen sijaan IF ISERROR- ja IF ISNA-yhdistelmiä.

    Ero on siinä, että IFERROR ja ISERROR käsittelevät kaikkia mahdollisia Excel-virheitä, mukaan lukien #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! ja #NULL!. IFNA ja ISNA ovat erikoistuneet ainoastaan #N/A-virheisiin.

    Voit esimerkiksi korvata "jaa nollalla" -virheen (#DIV/0!) omalla tekstilläsi käyttämällä seuraavaa kaavaa:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    Siinä kaikki, mitä minulla on sanottavaa Excelin IF-funktion käytöstä. Kiitän teitä lukemisesta ja toivottavasti tapaamme blogissamme ensi viikolla!

    Käytännön työkirja ladattavissa

    Excel IF multiple criteria - esimerkkejä (.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.