Excel-ohjelmointi.fi

Etusivu Hinnoittelu
Soita: 050 337 9941



Excel-taulukon käyttö syöttötiedon säilömisessä - perusperiaatteita


Tällä sivulla kerrotaan periaatteista joita on hyvä pyrkiä noudattamaan kun laaditaan uusia projekteja tai muita sovelluksia joissa on tarkoitus käsitellä dataa kaavojen ja ohjelmakoodin avulla.

Näitä asioita ei omaksu kunnolla kertalukemisella yhden illan aikana vaan parempi käydä aina aika ajoin sopivan tilaisuuden tullen kirjoitus läpi keskittyneesti. Sillä tavoin periaatteet alkavat jäädä vähitellen ”selkäytimeen” ja osaa jatkossa tehdä heti alusta alkaen parempia ratkaisuja. Siitä taas seuraa, että koko projekti tmv. sujuu nopeammin ja siistimmin ja ennen kaikkea vähemmällä työllä. Näissä asioissa jos missä kun pätee vanha sanonta ”hyvin suunniteltu on myös jo puoliksi tehty”.



Data ja sen käsittely muodostavat yhdessä kokonaisuuden

Luokittelemalla asia karkeasti kahteen voidaan Excelin taulukkosivulle tallentaa tietoja joko a) ihmissilmän luettavaksi tai b) ”koneen käsiteltäväksi” (järjestelmässä valmiina olevien työkalujen avulla, kaavojen luettavaksi tai ohjelmallisesti haettaviksi).

Excel tekee petollisen helpoksi tietojen kirjoittelemisen yksittäisiin soluihin. Niinpä lopputulos on usein juuri ihmissilmää miellyttävä ilman, että on juurikaan ajateltu enempää miten tietoja on jatkossa tarkoitus käyttää ja kenen tai minkä toimesta.

Säilöttäessä dataa Exelin taulukkosivulle olisi hyvä jo heti alussa miettiä myös miten tuota dataa on tarkoitus myöhemmin hyödyntää. Varsinkin jos tietoja on tarkoitus kaavojen avulla tai ohjelmallisesti lukea tai hakea jonnekin muualle. Silloin asiassa auttaa huomattavasti kun data järjestellään kurinalaisesti hyväksi havaittujen periaatteiden mukaisesti.

Datan tallentamisessa tulee siis pyrkiä yksinkertaisuuteen ja kurinalaisuuteen. Silloin kaikki myöhemmin tapahtuva datan käsittely saadaan myös pidettyä mahdollisimman yksinkertaisena ja johdonmukaisena ilman erilaisten poikkeustapausten suurta määrää. Tällöin tarvittava työ projektin kanssa saadaan minimoitua.



Excel-taulukko ja sen käyttöön liittyviä periaatteita

Kun tietoja säilötään hätäisesti Excelin taulukkosivulle on tuloksena usein seuraavan tyyppinen luettelo:

Luettelo

Luettelo on kyllä selkeä lukea ja ymmärtää mitä siinä on. Kun asiaa tarkastellaan tietojen jatkokäsittelyn kannalta on yllä olevassa luettelossa kuitenkin joukko ongelmia:

Tietojen jatkokäsittelyn kannalta on syytä pyrkiä säilömään yhdessä solussa vain ns. ”atominen” osa tiedoista seuraavan taulukon mukaisesti:

Taulukko

Ts. tiedot tulee pilkkoa niin pieniin osiin, että yhtä osaa ei enää ole mahdollista jakaa niin, että näin syntyvillä osilla olisi vielä jokin merkityksellinen sisältö.

Toisiinsa liittyvät tieto-osat tunnistetaan sitä kautta, että ne sijaitsevat samalla rivillä. Ne muodostavat yhdessä ns. ’tietueen’ (record).

Edelleen, Excel-järjestelmä tunnistaa automaattisesti jälkimmäisen kuvan kokonaisuuden olevan rakenteeltaan ns. ’Taulukko’ (Table) , johon Excelissä on heti valmiina työkaluja hyödynnettäväksi.

Ensimmäisessä luettelossa Excel-järjestelmä pitää taulukkona vain kolmen ensimmäisen rivin muodostamaa kokonaisuutta. Viimeinen 'Matti Maunula' -rivi on Excel-järjestelmän mielestä vain yksi irtorivi, ei sen enempää.

Toisinaan dataa säilöttäessä ihmiset varovat jakamasta tietoja useampaan sarakkeeseen siinä pelossa, että ”sarakkeita tulee liikaa”. Tämä on useimmiten täysin turha pelko. Jos jokin sarake osoittautuu jatkokäytön kannalta turhaksi, niin sitä ei sitten vain käytetä, ei sen kummempaa. Datan jäsentämisen kannalta on kuitenkin hyvä pyrkiä aina mahdollisimman atomisiin osiin.

Yleisesti kannattaa noudattaa mahdollisimman pitkälle seuraavaa mallia taulukon rakenteeksi:

Excel-taulukon malli

Ensimmäisellä rivillä (jossa ovat ’kenttä 1’ jne) ovat otsikkotiedot jos sellaisia halutaan käyttää. Ne eivät kuitenkaan ole välttämättömiä vaan taulukko voi olla myös ilman otsikkoriviä.

Taulukon yksittäisessä solussa ei välttämättä tarvitse olla mitään, se voi olla myös tyhjä. Mutta kokonainen rivi ei saa olla tyhjä.

Myöskään kokonainen sarake ei saa olla tyhjä. Excel-järjestelmä tulkitsee taulukon loppuvan kun kokonainen tyhjä rivi tai sarake tulee vastaan.

Edelleen on etua siitä, että taulukossa on ainakin yksi sarake jossa on arvo jokaisella rivillä.

Nyt tällaiseen taulukkoon on helppo lisätä uusia rivejä tai poistaa rivejä ilman, että siitä aiheutuisi kovin paljon lisätyötä esimerkiksi haettaessa kaavojen avulla tai ohjelmallisesti tietoja taulukosta. Usein lisätyötä ei aiheudu yhtään vaan esimerkiksi Excel-järjestelmä osaa päivittää kaavoja oikein kun lähtökohtana on oikein tehty taulukko.

Edelleen, kokonaisen sarakkeen lisääminen ei tuota kovin suurta lisävaivaa varsinkin jos se on lisättävissä muiden sarakkeiden perään viimeiseksi tai kaikkien sarakkeiden eteen ensimmäiseksi.

Tällainen taulukko voi sijaita Excelin taulukkosivulla missä tahansa.

Samalla taulukkosivulla voi olla useita taulukoita joiden ei tarvitse olla keskenään samanlaisia.

Jos samalla taulukkosivulla halutaan pitää useampi taulukko, ne on kuitenkin järkevää sijoittaa rinnakkain eikä allekkain. Jos yhteen taulukkoon lisätään rivi niin sen alla mahdollisesti sijaitsevat taulukot vaihtavat myös paikkaa.

Usein käytännössä on järkevää sijoittaa kukin tarvittava taulukko kokonaan omalle taulukkosivulleen jolloin niiden hallinta on täysin toisistaan riippumatonta. Taulukkosivun nimeksi tietysti jokin sopiva nimi niin ne myös löytyvät helposti vaikka niitä olisi enemmänkin.

Yksittäisessä sarakkeessa säilöttävän tietoalkion tulee olla vain yhtä tyyppiä, esim joko luku tai tekstitietoa, mutta ei mahdollisesti molempia. Esimerkiksi seuraava tapa sotii tätä periaatetta vastaan:

Solun tietotyyppi

Kolmannessa sarakkeessa on tarkoitus säilyttää hintoja reaalilukuna. Siinä ei tule silloin säilöä toisen tyyppistä tietoa, tässä tapauksessa tekstitietoa. Ilmaisu ’ei listahinnalla’ voidaan tietysti ymmärtää myös ”hintatietona”, kertoohan sekin jotain hintoihin liittyvää. Mutta tarkasteltaessa asiaa tietojen käsittelyn kannalta on parempi, että yhdessä sarakkeessa on vain yhden tyyppisiä arvoja tai arvo puuttuu kokonaan.

Jos halutaan johonkin soluun liittää jokin huomautus niin solu voi olla tyhjä tai siihen voidaan laittaa jokin kooditieto, esimerkiksi luku 99999,99 jonka hintaista tuotetta ei ole ja erilliseen huomautussarakkeeseen tekstinä ’ei listahinnalla’. Tällöin tietysti kannattaa miettiä koodausjärjestely tilanteen kannalta mielekkääksi ja käyttää sitä yhteneväisesti kaikkialla.

Varoitus:
Excelissä on tietotyyppi ’General’ ja VBA-ohjelmissa on mahdollista käyttää tietotyyppiä ’Variant’. Näitä ei tule kuitenkaan käyttää jonkinlaisina asiaa helpottavina ”oikopolkuina” vaan ainoastaan silloin kun niiden käyttö on jostain muusta syystä perusteltua. Lähtökohtana tulee aina olla, että kun sarakkeeseen tallennetaan tietoalkioita, niin tulee etukäteen määrätä mahdollisimman tarkasti mitä tyyppiä kyseisen sarakkeen alkiot ovat.

Kun tietoja kirjoitetaan Excelin taulukkosivulle on siis syytä miettiä heti alussa mikä on tarkoitus. Jos tarkoitus on käyttää Exceliä tekstinkäsittelijänä ja tuottaa vain kauniisti muotoiltu viesti pdf-muodossa ihmisen luettavaksi, niin vapausasteita on runsaasti.


Jos datan säilömisen tarkoituksena on myöhemmin

niin silloin on kunnollinen, ehdot täyttävä taulukko parempi ratkaisu lähtökohdaksi.


Tällöin myöskään lähtötietojen muotoilulla ja värityksillä ei ole operaatioiden kannalta mitään merkitystä. Ne olisivat siinä suhteessa täysin hyödyttömiä ja veisivät vain turhaan aikaa.

Siis: Hyvä pitää mahdollisimman erillään a) data ja sen prosessointi ja b) tulosten näyttäminen. Vain tulostusosaa muotoillaan.

Taulukon muotoilu

Kun tarkoituksena on käsitellä jotain syöttödataa juuri siinä tarkoituksessa, että siitä tuotetaan erilaisia tuloksia tai tietoja jotenkin prosessoidaan eteenpäin, on syöttödata siis syytä järjestää aluksi mahdollisimman tarkasti em. taulukkomallin muotoon:

Excel-taulukon malli

Tämä asettelu ja siihen liittyvä muu järjestäminen heti alussa voi tuntua työläältä ja turhalta vaiheelta, mutta pitää ajatella kokonaisuutta. Jos sen avulla varsinaista tietojen myöhempää käsittelyä voidaan yksinkertaistaa ja tehostaa niin se useimmiten maksaa itsensä takaisin jatkossa.