Kirjoittaja Aihe: Open Officen Calc ja sisäkkäiset funktiot  (Luettu 2101 kertaa)

Mäksä

  • Käyttäjä
  • Viestejä: 50
    • Profiili
Open Officen Calc ja sisäkkäiset funktiot
« : 19.07.10 - klo:18.41 »
Osaisko joku auttaa open officen funktioiden kanssa?

Jos haluan H8 ruutuun seuraavaa:

Jos G8 ruudun lukema on 37,5 tulokseksi tulee Helsinki
Jos G8 ruudun lukema on 20 tulokseksi tulee Turku
Jos G8 ruudun lukema on 75 tulokseksi tulee Tampere

Eli if ja or funktiota olen koittanut säätää mut en tajua noit sisäkkäisiä funktioita, enkä oikeen kunnon opasta asialle ole löytänyt :S En saa edes muuttumaan et jos yhdes ruudus on joku luku niin silloin viereisessä ruudussa olisi tietty teksti, saati sitten kun niitä arvoja ja tekstejä on kolmea erilaista :S

SuperOscar

  • Käyttäjä
  • Viestejä: 4008
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Open Officen Calc ja sisäkkäiset funktiot
« Vastaus #1 : 19.07.10 - klo:19.41 »
if() on käsittääkseni tarkoitettu kahden arvon väliltä valitsemiseen. Jos arvoja on enemmän, tarvitaan tietokantafunktioita.

if() toimii esim. näin:

Koodia: [Valitse]
=IF(B2<10;Vastaukset.A2;Vastaukset.A3)
Testataan solua B2. Jos se on < 10, valitaan solu Vastaukset.A2, muuten solu Vastaukset.A3. Huomaa siis, että TOSI- ja EPÄTOSI-arvojen kohdalle tulee lähinnä soluviittaus.

Kolmen arvon kanssa järkevintä on käyttää tietokantafunktiota dget(). Yksinkertainen esimerkki, jolla tuo sinunkin hommasi hoituu, löytyy OpenOffice.orgin wikistä.

Lyhyesti idea on se, että ensin luot yhdelle taulukon alueelle tietokannan näin:

Koodia: [Valitse]
Kaupunki Taikaluku
Helsinki 37,5
Tampere  75
Turku    20

Sitten toiseen paikkaan luot ehtotaulukon, jonka täytyy toistaa tietokannan otsikkorivi sekä sisältää hakuehto:

Koodia: [Valitse]
Kaupunki Taikaluku
         37,5

Sitten kolmanteen paikkaan kirjoitat itse funktion esim. näin:

Koodia: [Valitse]
=dget(Tietokanta.A1:A4;Tietokanta.A1;Ehdot.A1:B2)
Jolloin vastauksen pitäisi olla ”Helsinki”. Vähintäänkin tietokanta on järkevää sijoittaa omaan taulukkoonsa (omalle välilehdelleen).

Tuo tuntuu kieltämättä ensikertalaiselta kauhean kankealta, vallankin kun periaatteessa yhteen valintaan tarvitaan kolme erillistä taulukon aluetta (joista viimeinen tosin vain solun mittainen) eivätkä nämä saa lomittua.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

tuttuM

  • Käyttäjä
  • Viestejä: 52
    • Profiili
Vs: Open Officen Calc ja sisäkkäiset funktiot
« Vastaus #2 : 19.07.10 - klo:19.55 »
Osaisko joku auttaa open officen funktioiden kanssa?

Jos haluan H8 ruutuun seuraavaa:

Jos G8 ruudun lukema on 37,5 tulokseksi tulee Helsinki
Jos G8 ruudun lukema on 20 tulokseksi tulee Turku
Jos G8 ruudun lukema on 75 tulokseksi tulee Tampere

Eli if ja or funktiota olen koittanut säätää mut en tajua noit sisäkkäisiä funktioita, enkä oikeen kunnon opasta asialle ole löytänyt :S En saa edes muuttumaan et jos yhdes ruudus on joku luku niin silloin viereisessä ruudussa olisi tietty teksti, saati sitten kun niitä arvoja ja tekstejä on kolmea erilaista :S

Vaikka näin:
=IF(G8=20;"Turku";IF(G8=37,5;"Helsinki";IF(G8=75;"Tampere";"")))

Ennen kuin kaava toimii oikein, kannattaa varmistaa, että kaikki asetukset ovat suomalaisia.  Kiva ylläri voi myös piillä kohdassa: Työkalut - Asetukset - Openoffice.org Calc - Formula. Olin puljannut maa-asetuksiin kymri ja tuolla oli funktion erottimena pilkku. Eipäs toiminut tuo melko yksinkertainen kaavani.

Jos haluatkin, että "Tampere" on kaatokoodi, niin yhden sisennyksen voi vähentää, jolloin "Tampere" on "Helsinki" tapauksen muutoin-vaihtoehto.  Nyt tuo kaava antaa tyhjää, jos lukema on joku muu kuin annettu, vaikket tätä tilannetta määritellytkään.
« Viimeksi muokattu: 19.07.10 - klo:19.56 kirjoittanut tuttuM »

Mäksä

  • Käyttäjä
  • Viestejä: 50
    • Profiili
Vs: Open Officen Calc ja sisäkkäiset funktiot
« Vastaus #3 : 19.07.10 - klo:20.55 »

Kiitoksia avusta, tullut kyl paljonki noit excel juttuja tehtyä ja perus funktioitakin, mut ei ikinä sen syvällisemmin, koitin varmaan 2-3h tota koittaa itse vääntää, enkä tajunnut edes numeron muuttamista tekstiksi :D