Palauttaa yhden arvon, jos määrittämäsi ehto on TOSI, ja toisen arvon, jos se on EPÄTOSI. JOS-funktion avulla voit suorittaa ehdollisia testejä arvoille ja kaavoille.
Syntaksi
JOS(logical_test;value_if_true;value_if_false)
Logical_test on mikä tahansa arvo tai lauseke, joka voidaan arvioida arvoksi TOSI tai EPÄTOSI. Esimerkiksi [Neljännes1]=100 on looginen lauseke; jos sarakkeen yhden rivin [Neljännes1] arvo on 100, lausekkeen tulos on TOSI. Muussa tapauksessa lausekkeen tulos on EPÄTOSI. Tässä argumentissa voi käyttää mitä tahansa vertailulaskentaoperaattoria.
Value_if_true on palautettava arvo, jos logical_test on TOSI. Jos tämä argumentti on esimerkiksi tekstimerkkijono "Budjetissa" ja logical_test argumentin arvoksi tulee TOSI, JOS-funktio näyttää tekstin "Budjetissa". Jos logical_test on TOSI ja value_if_true on tyhjä, tämä argumentti palauttaa arvon 0 (nolla). Jos haluat näyttää sanan TOSI, käytä tälle argumentille totuusarvoa TOSI. Value_if_true voi olla toinen kaava.
Value_if_false on arvo, joka palautetaan, jos logical_test on EPÄTOSI. Jos tämä argumentti on esimerkiksi tekstimerkkijono "Ylittää budjetin" ja logical_test-argumentin arvo on EPÄTOSI, JOS-funktio näyttää tekstin "Ylittää budjetin". Jos logical_test on EPÄTOSI ja value_if_false jätetään pois (eli value_if_true jälkeen ei ole pilkkua), funktio palauttaa totuusarvon EPÄTOSI. Jos logical_test on EPÄTOSI ja value_if_false on tyhjä (eli value_if_true jälkeen on pilkku ja sulkeva sulje), arvo 0 (nolla) palautetaan. Value_if_false voi olla toinen kaava.
Huomautuksia
- Voit asettaa jopa seitsemän JOS-funktiota sisäkkäin value_if_true ja value_if_false argumentteja monimutkaisempien testien luomiseen. Katso viimeinen seuraavista esimerkeistä.
- Kun value_if_true- ja value_if_false-argumentteja lasketaan, JOS palauttaa kyseisten lausekkeiden palauttaman arvon.
- Jos jokin JOS-funktion argumenteista on matriiseja, matriisin jokainen elementti lasketaan JOS-lausekkeen suorittamisen yhteydessä.
Esimerkkijoukko 1
| C ol1 | Sarake 2 | Col3 | Kulut | Kaava | Kuvaus (tulos) |
|---|---|---|---|---|---|
| 50 | =JOS([Kulut]<=100;"Budjetissa";"Ylittää budjetin") | Jos luku on pienempi tai yhtä suuri kuin 100, kaavassa näkyy "Budjetissa". Muussa tapauksessa funktio näyttää "Ylittää budjetin". (Budjetin rajoissa) | |||
| 23 | 45 | 89 | 50 | =JOS([Kulut]=100;SUMMA([Sarake1];[Sarake2];[Sarake3]),"") | Jos luku on 100, nämä kolme arvoa lasketaan yhteen. Muussa tapauksessa funktio palauttaa tyhjän tekstin (""). () |
Esimerkkijoukko 2
| Todelliset kulut | Ennakoidut kulut | Kaava | Kuvaus (tulos) |
|---|---|---|---|
| 1500 | 900 | =JOS([TodellisetKulut][>EnnustetKulut];"Ylittää budjetin";"OK") | Tarkistaa, ylittääkö ensimmäinen rivi budjetin (yli budjetin) |
| 500 | 900 | =JOS([TodellisetKulut][>EnnustetKulut];"Ylittää budjetin";"OK") | Tarkistaa, onko toinen rivi ylittänyt budjetin (OK) |
Esimerkkijoukko 3
| Pisteet | Kaava | Kuvaus (tulos) |
|---|---|---|
| 45 | =JOS([Pisteet]89>,"A",JOS([Pisteet]>79,"B", JOS([Pisteet]69>,"C",JOS([Pisteet]>59,"D","F")))) | Määrittää kirjainarvosanan ensimmäiselle pistetulokselle (F) |
| 90 | =JOS([Pisteet]89>,"A",JOS([Pisteet]>79,"B", JOS([Pisteet]69>,"C",JOS([Pisteet]>59,"D","F")))) | Antaa kirjainarvosanan toiselle pistemäärälle (A). |
| 78 | =JOS([Pisteet]89>,"A",JOS([Pisteet]>79,"B", JOS([Pisteet]69>,"C",JOS([Pisteet]>59,"D","F")))) | Antaa kirjainarvosanan kolmannelle pistemäärälle (C) |
Edellisen esimerkin toinen JOS-lauseke on myös value_if_false argumentti ensimmäiseen JOS-lausekkeeseen. Vastaavasti kolmas JOS-lauseke on toisen JOS-lausekkeen value_if_false argumentti. Jos esimerkiksi ensimmäinen logical_test ([Pisteet]>89) on TOSI, funktio palauttaa "A". Jos ensimmäinen logical_test on EPÄTOSI, suoritetaan toinen JOS-lauseke ja niin edelleen.
Kirjainarvosanat annetaan numeroille seuraavalla näppäimellä (olettaen, että käytetään vain kokonaislukuja).
| Jos Score on | Palaa sitten |
|---|---|
| Suurempi kuin 89 | A |
| 80-89 | B |
| 70-79 | C |
| 60-69 | D |
| Alle 60 | P |