Sisäkkäiset IF Excelissä - kaava, jossa on useita ehtoja

  • Jaa Tämä
Michael Brown

Ohjeessa selitetään, miten Excelissä käytetään useita IF-kaavoja, ja annetaan pari esimerkkiä sisäkkäisistä If-kaavoista yleisimpiä tehtäviä varten.

Jos joku kysyisi sinulta, mitä Excel-funktiota käytät useimmiten, mikä olisi vastauksesi? Useimmissa tapauksissa se on Excelin IF-funktio. Tavallinen If-kaava, joka testaa yhtä ehtoa, on hyvin suoraviivainen ja helppo kirjoittaa. Mutta entä jos tietosi vaativat monimutkaisempia loogisia testejä, joissa on useita ehtoja? Tässä tapauksessa voit sisällyttää useita IF-funktioita yhteen kaavaan, ja nämä useat Iflausekkeita kutsutaan Excelin sisäkkäiset IF Sisäkkäisen If-lausekkeen suurin etu on, että sen avulla voit tarkistaa useamman kuin yhden ehdon ja palauttaa eri arvoja riippuen näiden tarkistusten tuloksista, kaikki yhdessä kaavassa.

Microsoft Excelillä on rajoituksia sisäkkäisten JOS-tasojen tasot Excel 2003:ssa ja sitä alemmissa versioissa sallittiin enintään 7 tasoa. Excel 2007:ssä ja sitä uudemmissa versioissa yhteen kaavaan voi sijoittaa enintään 64 IF-funktiota.

Tämän ohjeen jatkossa löydät pari Excelin sisäkkäistä If-esimerkkiä sekä yksityiskohtaisen selityksen niiden syntaksista ja logiikasta.

    Esimerkki 1. Klassinen sisäkkäinen IF-kaava

    Seuraavassa on tyypillinen esimerkki Excelin If-oliosta, jossa on useita ehtoja. Oletetaan, että sarakkeessa A on luettelo opiskelijoista ja sarakkeessa B heidän tenttipisteensä, ja haluat luokitella pisteet seuraavilla ehdoilla:

    • Erinomainen: yli 249
    • Hyvä: 249-200, mukaan lukien
    • Tyydyttävä: 199-150, mukaan luettuna.
    • Huono: alle 150

    Kirjoitetaan nyt sisäkkäinen IF-funktio, joka perustuu edellä mainittuihin kriteereihin. Hyvänä käytäntönä pidetään sitä, että aloitetaan tärkeimmästä ehdosta ja pidetään funktiot mahdollisimman yksinkertaisina. Excelin sisäkkäinen IF-kaavamme on seuraava:

    =IF(B2>249, "Erinomainen", IF(B2>=200, "Hyvä", IF(B2>150, "Tyydyttävä", "Huono"))))

    Ja toimii juuri niin kuin pitääkin:

    Excelin sisäkkäisen IF-logiikan ymmärtäminen

    Olen kuullut joidenkin ihmisten sanovan, että Excelin useampi If tekee heidät hulluiksi :) Kokeile katsoa asiaa eri näkökulmasta:

    Kaava oikeastaan käskee Exceliä arvioimaan arvon looginen_testi ja jos ehto täyttyy, palautetaan arvo, joka on annettu funktiossa IF. value_if_true argumentti. Jos 1. If-funktion ehto ei täyty, testaa 2. If-lause ja niin edelleen.

    IF( tarkista, jos B2>=249, jos true - palaa "Erinomainen", tai muuten

    IF( tarkista, jos B2>=200, jos true - palaa "Hyvä", tai muuten

    IF( tarkista, jos B2>150, jos true - palaa "Tyydyttävä", if false -

    return "Poor"))))

    Esimerkki 2. Moninkertainen If aritmeettisilla laskutoimituksilla

    Tässä on toinen tyypillinen tehtävä: yksikköhinta vaihtelee määritellyn määrän mukaan, ja tavoitteenasi on kirjoittaa kaava, joka laskee kokonaishinnan mille tahansa tiettyyn soluun syötetylle määrälle. Toisin sanoen kaavan on tarkistettava useita ehtoja ja suoritettava eri laskutoimituksia sen mukaan, mihin määräalueeseen määritetty määrä kuuluu:

    Yksikkö Määrä Yksikköhinta
    1-10 $20
    11-19 $18
    20-49 $16
    50-100 $13
    Yli 101 $12

    Tämä tehtävä voidaan suorittaa myös käyttämällä useita IF-funktioita. Logiikka on sama kuin edellä olevassa esimerkissä, ainoa ero on se, että kerrotaan määritetty määrä sisäkkäisten IF-funktioiden palauttamalla arvolla (eli vastaavalla yksikköhinnalla).

    Jos oletetaan, että käyttäjä syöttää määrän soluun B8, kaava on seuraava:

    =B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))

    Tulos näyttää jotakuinkin tältä:

    Kuten ymmärrät, tässä esimerkissä esitellään vain yleinen lähestymistapa, ja voit helposti mukauttaa tätä sisäkkäistä If-funktiota oman tehtäväsi mukaan.

    Esimerkiksi sen sijaan, että "koodaat" hinnat kaavaan, voit viitata soluihin, jotka sisältävät kyseiset arvot (solut B2-B6). Näin käyttäjät voivat muokata lähdetietoja ilman, että heidän tarvitsee päivittää kaavaa:

    =B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))".

    Tai voit halutessasi sisällyttää ylimääräisen IF-funktion (tai -funktioita), joka määrittää määrän vaihteluvälin ylä-, ala- tai molemmat rajat. Kun määrä on vaihteluvälin ulkopuolella, kaava näyttää "vaihteluvälin ulkopuolella" -viestin. Esimerkiksi:

    =IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "" ))))))

    Edellä kuvatut sisäkkäiset IF-kaavat toimivat kaikissa Excel-versioissa. Excel 365:ssä ja Excel 2021:ssä voit käyttää samaan tarkoitukseen myös IFS-funktiota.

    Edistyneet Excel-käyttäjät, jotka tuntevat array-kaavat, voivat käyttää tätä kaavaa, joka periaatteessa tekee saman kuin edellä käsitelty sisäkkäinen IF-funktio. Vaikka array-kaava on paljon vaikeampi ymmärtää, saati sitten kirjoittaa, sillä on yksi kiistaton etu - määrittelet solualueen, joka sisältää ehdot sen sijaan, että viittaisit jokaiseen ehtoon erikseen. Tämä tekeekaava on joustavampi, ja jos käyttäjät muuttavat jotakin nykyisistä ehdoista tai lisäävät uuden ehdon, sinun tarvitsee päivittää vain yksi kaavan alueen viittaus.

    Excelin sisäkkäiset IF - vinkkejä ja temppuja

    Kuten olet juuri nähnyt, useiden IF-kaavojen käyttäminen Excelissä ei ole mitään rakettitiedettä. Seuraavat vinkit auttavat sinua parantamaan sisäkkäisiä IF-kaavoja ja välttämään yleisiä virheitä.

    Sisäkkäiset IF-rajat

    Excel 2007 - Excel 365:ssä voit käyttää enintään 64:ää IF-funktiota. Vanhemmissa Excel 2003- ja sitä vanhemmissa versioissa voidaan käyttää enintään 7:ää sisäkkäistä IF-funktiota. Se, että voit käyttää useita IF-funktioita yhdessä kaavassa, ei kuitenkaan tarkoita, että sinun pitäisi käyttää niitä. Muista, että jokainen ylimääräinen taso vaikeuttaa kaavan ymmärtämistä ja vianetsintää. Jos kaavassa on liian monta sisäkkäistä tasoa, saatathaluat optimoida sen käyttämällä jotakin näistä vaihtoehdoista.

    Sisäkkäisten IF-funktioiden järjestyksellä on merkitystä

    Excelin sisäkkäinen IF-funktio arvioi loogiset testit siinä järjestyksessä, jossa ne esiintyvät kaavassa, ja heti kun yksi ehdoista on TRUE, seuraavia ehtoja ei testata. Toisin sanoen kaava pysähtyy ensimmäisen TRUE-tuloksen jälkeen.

    Katsotaanpa, miten se toimii käytännössä. Kun B2 on 274, alla oleva sisäkkäinen IF-kaava arvioi ensimmäisen loogisen testin (B2>249) ja palauttaa arvon "Erinomainen", koska tämä looginen testi on TRUE:

    =IF(B2>249, "Erinomainen", IF(B2>=200, "Hyvä", IF(B2>150, "Tyydyttävä", "Huono"))))

    Käännetään nyt IF-funktioiden järjestys päinvastaiseksi:

    =IF(B2>150, "Tyydyttävä", IF(B2>200, "Hyvä", IF(B2>249, "Erinomainen", "Huono"))))

    Kaava testaa ensimmäisen ehdon, ja koska 274 on suurempi kuin 150, myös tämän loogisen testin tulos on TODELLINEN. Näin ollen kaava antaa tuloksen "Tyydyttävä" testaamatta muita ehtoja.

    IF-funktioiden järjestyksen muuttaminen muuttaa tulosta:

    Arvioi kaavan logiikka

    Jos haluat katsella sisäkkäisen IF-kaavan loogista kulkua vaihe vaiheelta, käytä Arvioi kaava -toimintoa, joka sijaitsee komentosivulla Kaava välilehdellä, kohdassa Kaavan tarkastus Alleviivattu lauseke on parhaillaan arvioitavana oleva osa, ja napsauttamalla painiketta Arvioi painike näyttää kaikki arviointiprosessin vaiheet.

    Esimerkiksi alla olevassa kuvakaappauksessa näkyvän sisäkkäisen IF-kaavan ensimmäisen loogisen testin arviointi menee seuraavasti: B2>249; 274>249; TRUE; Excellent.

    Tasapainota sisäkkäisten IF-funktioiden sulkeiset

    Yksi Excelin sisäkkäisten JOS-kokoonpanojen suurimmista haasteista on sulkujen yhteensovittaminen. Jos sulut eivät sovi yhteen, kaava ei toimi. Onneksi Microsoft Excel tarjoaa pari ominaisuutta, jotka voivat auttaa sinua tasapainottamaan sulut kaavaa muokattaessa:

    • Jos sinulla on useampi kuin yksi sulkeissarja, sulkeisparit tummennetaan eri väreillä siten, että avaava sulkeissarja vastaa sulkeisparia.
    • Kun suljet sulkeutuvan sulkeutumissulun, Excel korostaa lyhyesti vastaavaa paria. Sama lihavointi- tai "välkkyvä" vaikutus saadaan aikaan, kun liikut kaavan läpi nuolinäppäimillä.

    Lisätietoja on osoitteessa Match parenthese parit Excel-kaavoissa.

    Käsittele tekstiä ja numeroita eri tavalla

    Kun rakennat loogisia testejä sisäkkäisille IF-kaavoille, muista, että tekstiä ja numeroita on käsiteltävä eri tavalla - sulje tekstiarvot aina kaksinkertaisiin lainausmerkkeihin, mutta älä koskaan laita lainausmerkkejä numeroiden ympärille:

    Aivan: =IF(B2>249, "Erinomainen",...)

    Väärin: =IF(B2>"249", "Excellent",…)

    Toisen kaavan looginen testi palauttaa arvon FALSE, vaikka arvo B2 olisi suurempi kuin 249. Miksi? Koska 249 on luku ja "249" on numeerinen merkkijono, jotka ovat kaksi eri asiaa.

    Lisää välilyöntejä tai rivinvaihtoja, jotta sisäkkäiset IF-kohdat olisivat helpommin luettavissa.

    Kun rakennat kaavaa, jossa on useita sisäkkäisiä IF-tasoja, voit selkeyttää kaavan logiikkaa erottamalla eri IF-funktiot toisistaan välilyönneillä tai rivinvaihdoilla. Excel ei välitä ylimääräisistä välilyönneistä kaavassa, joten et tarvitse huolehtia kaavan sekoittumisesta.

    Jos haluat siirtää tietyn kaavan osan seuraavalle riville, napsauta kohtaa, johon haluat lisätä rivinvaihdon, ja paina Alt + Enter . Laajenna sitten kaavariviä niin paljon kuin haluat, ja huomaat, että sisäkkäisestä IF-kaavasta on tullut paljon helpompi ymmärtää.

    Vaihtoehtoja sisäkkäisille IF:ille Excelissä

    Jos haluat kiertää Excel 2003:n ja sitä vanhempien versioiden seitsemän sisäkkäisen IF-funktion rajoituksen ja tehdä kaavoista tiiviimpiä ja nopeampia, kannattaa harkita seuraavien vaihtoehtojen käyttämistä Excelin sisäkkäisille IF-funktioille.

    1. Jos haluat testata useita ehtoja ja palauttaa eri arvoja näiden testien tulosten perusteella, voit käyttää CHOOSE-funktiota sisäkkäisten IF-kohtien sijasta.
    2. Rakenna vertailutaulukko ja käytä VLOOKUPia, jossa on likimääräinen vastaavuus, kuten tässä esimerkissä näytetään: VLOOKUP sisäkkäisen IF:n sijasta Excelissä.
    3. Käytä IF:ää loogisten funktioiden OR / AND kanssa, kuten näissä esimerkeissä on esitetty.
    4. Käytä tässä esimerkissä esitettyä array-kaavaa.
    5. Yhdistä useita IF-lausekkeita käyttämällä CONCATENATE-funktiota tai ketjutusoperaattoria (&). Kaavaesimerkki löytyy täältä.
    6. Kokeneille Excel-käyttäjille paras vaihtoehto useiden sisäkkäisten IF-funktioiden käyttämiselle voi olla mukautetun laskentataulukkotoiminnon luominen VBA:n avulla.

    Näin käytät If-kaavaa Excelissä useilla ehdoilla. Kiitos lukemisesta ja toivottavasti tapaamme blogissamme ensi viikolla.

    Käytännön työkirja ladattavissa

    Sisäkkäiset If Excel-lauseet (.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.