Excel – Sisäkkäiset IF: t ja vaihtoehdot

Kiitos, että liittyit meihin! Saat tervetuloviestin hetkessä.

Katsaus sisäkkäisiin IF-lauseisiin ja vaihtoehtoihin, jotka on helpompi tehdä ja ymmärtää myöhemmin.

David Goodmanson

Viimeisessä artikkelissani tarkastelin yksinkertaista Excel IF -lauseketta ja niiden hyödyllisiä serkkuja CountIf ja SumIF. Koskin myös sisäkkäistä IF-käskyä, jossa yhdessä solussa on paljon IF-toimintoja.

Tällä kertaa tarkastelemme sisäkkäistä IF: tä tarkemmin ja etenkin vaihtoehtoja, jotka ovat helpompi tehdä ja ymmärtää myöhemmin.

Seuraavassa tarkastellaan joitain vaihtoehtoisia tapoja käyttää IF-käskyä joissakin VBA-koodeissa (Visual Basic for Applications) sekä Select Case -käsky.

Sarakkeen B luokitusnumero muutetaan tekstikuvaksi sarakkeessa C. Excelissä on kaikenlaisia tapoja tehdä Tällaisessa yksinkertaisessa esimerkissä sisäkkäinen IF riittää, mutta on olemassa myös muita vaihtoehtoja, jotka a muiden ihmisten on helpompi lukea.

Kukaan ei koskaan aio tehdä pitkää ryhmää sisäkkäisiä IF: itä. Se yleensä hiipii kaikille ajan myötä. Yksinkertainen sisäkkäinen IF, jossa on 2 tai 3 vaihtoehtoa, voi kasvaa yhä useamman IF: n kanssa siihen pisteeseen, että se on lukukelvoton ja altis koodausvirheille. Tässä on ’yksinkertainen’ sisäkkäinen IF, jolla on 40 tasoa:

=IF(A2="A",TRUE,IF(A2="B",TRUE,IF(A2="C",TRUE,IF(A2="D",TRUE,
IF(A2="E",TRUE,IF(A2="F",TRUE,IF(A2="G",TRUE,IF(A2="H",TRUE,
IF(A2="I",TRUE,IF(A2="J",TRUE,IF(A2="K",TRUE,IF(A2="L",TRUE,
IF(A2="M",TRUE,IF(A2="N",TRUE,IF(A2="O",TRUE,IF(A2="P",TRUE,
IF(A2="Q",TRUE,IF(A2="R",TRUE,IF(A2="S",TRUE,IF(A2="T",TRUE,
IF(A2="U",TRUE,IF(A2="V",TRUE,IF(A2="W",TRUE,IF(A2="X",TRUE,
IF(A2="Y",TRUE,IF(A2="Z",TRUE,IF(A2="AA",TRUE,IF(A2="AB",TRUE,
IF(A2="AC",TRUE,IF(A2="AD",TRUE,IF(A2="AE",TRUE,IF(A2="AF",TRUE,
IF(A2="AG",TRUE,IF(A2="AH",TRUE,IF(A2="AI",TRUE,
IF(A2="AJ",TRUE,IF(A2="AK",TRUE,IF(A2="AL",TRUE,IF(A2="AM",TRUE,
IF(A2="AN",TRUE,FALSE))))))))))))))))))))))))))))))))))))))))

Excel 2007: ssä voi olla 64 sisäkkäistä IF: tä yhdessä kaavassa, vaikka onnea virheenkorjauksessa tällainen rivi! Sisäkkäisiä IF: itä on hieman helpompi hallita viimeisimmissä Excel-versioissa, joissa on kaavan värikoodaus jne. Näistä avustajista huolimatta voimakkaasti sisäkkäisiä IF: itä on parasta välttää.

Jos uskot, että sisäkkäisiä vaihtoehtojasi voidaan laajentaa myöhemmin, harkitse yksi vaihtoehdoista alusta alkaen.

Sisäkkäinen IF

Ensinnäkin sisäkkäisten IF-funktioiden kaava solulle C3 on esitetty alla.

=IF(B3=5, "Boom", IF(B3=4, "Recovery", IF(B3=3, "Turning Point",

IF(B3=2, "Recession", IF(B3=1, "Depression")))))

Sisäkkäinen IF toimii vasemmalta oikealle arvioimalla loogista testiä, esim. B3 = 5, jos tämä luokitus on tosi, IF lisää tekstin ”Boom”. Jos B3 ei ole yhtä kuin 5, IF tarkastelee seuraavaa loogista testiä (B3 = 4) ja arvioi jokaisen vaiheen vuorotellen. >

  • IF jatkaa kunkin testin arviointia, kunnes looginen testi on tyydyttävä, ja lopettaa sitten toiminnon.
  • Ensimmäisen IF: n vasemmalla puolella olevaa yhtäläisyysmerkkiä vaaditaan vain kerran tälle ensimmäiselle IF: lle, sen jälkeen , jokaiselle sisäkkäisyystasolle yksinkertaisesti kirjoitetaan teksti IF. (Tämä pätee kaikkiin sisäkkäisiin laskentataulukkoihin.
  • Avoimien sulkeiden lukumäärä ”(” on sovitettava sulkuhakemien määrään). ”)”. Yllä olevassa kaavaesimerkissä on 5 avointa hakasulmaa, joihin on sovitettu 5 sulkuhaketta lopussa. Viimeisimmissä Excel-versioissa on paremmat väritys- ja virheen tarkistusominaisuudet, jotta suluet ja lainausmerkit pysyvät suorina, mutta sisäkkäisetkin IF: t voidaan häiriö työskennellä.
  • Hakutaulukko

    Yksi tapa kiertää sisäkkäisen IF: n monimutkaisuus on käyttää VLOOKUPia, joka on linkitetty viitetaulukkoon muu missä taulukossa.

    Taulukomme näyttäisi tältä:

    Toiminto sarakkeessa C Alkuperäisestä taulukosta lukee nyt:

    =VLOOKUP(B3,$G$2:$H$6,2,FALSE)

    Yleensä sijoitat hakutaulukon saman laskentataulukon toiseen välilehteen, mutta tiedot voidaan hankkia mistä tahansa.

    VBA – IF-käsky

    Vaihtoehto on tehdä mukautettu VBA-toiminto ja laittaa koko IF-logiikka VBA-koodiin.

    Tällä on etuna on paljon helpompi lukea ja ymmärtää.

    Haittapuoli on kooditurvan tarve ja huoli siitä, että VBA-koodi on laillinen eikä virus. Jos käyttäjät eivät ole tottuneet saamaan laskentataulukoita liitteenä olevalla koodilla, sinun kannattaa välttää VBA-asetuksia.

    Tässä on koodinpätkä, se on sama logiikka kuin sisäkkäinen IF tämän artikkelin alussa, mutta kuten on paljon helpompi lukea:

    " Using a VBA if statement structure
    " ==================================
    If Rating = 5 Then
    Prediction = "Boom"
    ElseIf Rating = 4 Then
    Prediction = "Recovery"
    ElseIf Rating = 3 Then
    Prediction = "Turning Point"
    ElseIf Rating = 2 Then
    Prediction = "Recession"
    ElseIf Rating = 1 Then
    Prediction = "Depression"
    End If

    VBA: Valitse tapaus

    Lopuksi vielä helpompi lukea rakenne on Select Case -käsky.

    "Using a Select Case structure
    "=============================
    Select Case Rating
    Case 5
    Prediction = "Boom"
    Case 4
    Prediction = "Recovery"
    Case 3
    Prediction = "Turning Point"
    Case 2
    Prediction = "Recession"
    Case 1
    Prediction = "Depression"
    End Select

    Select Case -lauseke on toinen VBA-rakenne, joka tarjoaa tavan arvioida erilaisia vaihtoehtoja ja tarvita vähintään toistuva näppäily . Se on myös yksinkertaisempi ja helppolukuisempi, ja sitä tulisi käyttää, kun kiinnostavaan muuttujaan on enemmän kuin 3 vaihtoehtoa.

    VBA: ja pidemmälle …

    Lopuksi antaa sinulle idea Valitse tapauksen suuremmasta voimasta tässä on laajennettu versio Select-tapauksesta:

    Select Case Rating
    Case 4.5 To 10
    Prediction = "Boom"
    Case 3.5 To 4.49
    Prediction = "Recovery"
    Case 2.5 To 3.49
    Prediction = "Turning Point"
    Case 1.5 To 2.49
    Prediction = "Recession"
    Case 0.5 To 1.4
    Prediction = "Depression"
    Case 0 To 0.49
    Prediction = "Money under the Mattress"
    Case Else
    Prediction = "No prediction - there"s no economy left!"
    End Select

    Tämä versio testaa arvoja (esim. luokitus on suurempi tai yhtä suuri kuin 3,5 mutta pienempi tai yhtä suuri kuin 4,5) ja sallii jonkun, joka tarjoaa murtoluokituksen, kuten 2.5.

    Lisäksi rakenteen alaosassa on ”Muu” -ohjaus. Pohjimmiltaan se kattaa ev kaikkea muuta, mitä emme käsittäneet edellisissä Elseif-tiedostoissamme. Jos mikään ei ole samanarvoinen luokituksen kanssa, rakenteen muu osa tarjoaa vaihtoehtoisen hallinnan.

    No, siinä kaikki IF-funktiosarjassa. Pidä palaute, kysymykset ja ehdotukset tulossa. Nähdään ensi kerralla.

    Katso myös

    • Excelin SUM on paljon enemmän
    • Monimutkaisen Excelin tekeminen solu helppokäyttöinen
    • Lisää sisäkkäisiä IF-vaihtoehtoja
    • CHOOSE-vaihtoehto Excelissä
    • Excelin IF-toiminto
    Kiitos, että liittyit meihin! Saat tervetuloviestin hetkessä.

    Leave a Reply

    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *