maanantai 19. helmikuuta 2018

Makrot ja lomakeohjausobjektit. Luento 13.2.2018

MAKROT


Makrot ovat eräänlaisia komentojonoja.
Excelissä makroja käyttävä työkirja on tallennettava .xlsm-muotoon (makrot käytössä).
Makrojen luomisessa käytetään välilehteä Kehitystyökalut, joka saadaan käyttöön, kun työkalurivin päällä painetaan hiiren oikeaa näppäintä ja valitaan "Mukauta valintanauhaa". Aukeavasta valikosta valitaan Kehitystyökalut -välilehti käyttöön.

Uusi makro luodaan "nauhoittamalla" haluttu sarja eri toimintoja. Makro on siis pohjimmiltaan kokoelma ohjelmointikoodia, jota syntyy "nauhoituksen" aikana. Makron tallentamisen aikana tapahtuneet pikkuvirheet on helppoa korjata jälkikäteen kooditekstistä, kun sitä osaa tulkita.

Ennen makrojen käyttämistä on varmistettava, että työkirja sallii makrojen käytön. Vieraiden asiakirjojen makroja ei kannata sallia, koska ne voivat aiheuttaa haittaa koneelle ja kadottaa tärkeitä tietoja. Makrojen käytön voi sallia esimerkiksi reittiä Tiedosto --> Asetukset --> Luottamuskeskus --> Luottamuskeskuksen asetukset...--> Makrojen asetukset --> Ota käyttöön kaikki makrot --> OK.
Saman voi tehdä Kehitystyökalut-välilehdeltä Makrosuojaus-kohdasta.

Makro tallennetaan Kehitystyökalut-välilehdeltä Tallenna makro -kohdasta. Makroa tallentaessa on huomattava, että se tallentaa kaikki tehdyt toimenpiteet ja toistaa ne joka kerta, kun se suoritetaan. Jos makroa tallentaessa tapahtuu virhe, se kertautuu nopeasti ja saattaa jopa hävittää kaikki rekisterin tiedot. Kun kaikki toistettavaksi haluttavat toiminnot on suoritettu, makron tallennus voidaan lopettaa.

Makron saa käyttöön esimerkiksi uudella välilehdellä valitsemalla Kehitystyökalut--> Makrot --> Valitse oikea makro --> Suorita.

Makroja voidaan liittää lomakeohjausobjekteihin.



LOMAKEOHJAUSOBJEKTIT

Lomakeohjausobjektit ovat erilaisia lomakkeiden rakennuspalikoita. Ne mahdollistavat selkeiden käyttöliittymien rakentamisen ja tiedon käsittelyn niiden avulla kerätyn informaation pohjalta.
Niitä voidaan käyttää esimerkiksi funktioiden ulkoasuna. Luentoesimerkissä hakufunktio toimi mallina.

Lomakeohjausobjektit löytyvät Kehitystyökalut-välilehdeltä Lisää ohjausobjekti -kohdasta. Alla olevalla videolla esitellään joitakin lomakeohjausobjekteja.

Niiden lisäksi on esimerkiksi Yhdistelmäruutu-objekti, jossa alasvetovalikosta voidaan valita sopiva vaihtoehto. Hiiren oikealla näkyviin saatavasta valikosta valitaan Muotoile ohjausobjektia, josta päästään valitsemaan syöttöalue ja solulinkki. Syöttöalueelta haetaan valikossa näkyvät otsikot ja solulinkki on solu, johon tieto valitusta arvosta on käytettävissä. Tätä tietoa käytetään hyväksi käsitellessä vastaukseen liittyvää informaatiota.


VIDEOESIMERKKI

Alla olevassa esimerkissä jatketaan viime viikkoista varastoesimerkkiä.
Koska edellisviikon varastotietoja ei rakennettu makroja silmällä pitäen, on varasto-välilehden käytettävyydessä hiukan puutteita, mutta ne eivät haittaa tämän päivityksen asian ymmärtämistä. Jos varastotiedostosta haluaisi kokonaisuutena toimivan, on sen toimintaperiaatetta hiukan muutettava.




maanantai 12. helmikuuta 2018

Joukko-funktiot ja muuta luennolla 6.2. käsiteltyä



LASKE.JOS.JOUKKO

Tällä funktiolla voidaan tarkastaa usean alueen solut ja laskea, kuinka monta kertaa ehto täyttyy. Voidaan siis käyttää useita ehtoja (maksimissaan 127 alue-ehtoparia).

Ehtoalue 1: Alue, jolta tietty tieto etsitään.

Ehdot 1: Tieto, mitä etsitään.

Voidaan etsiä vain yhden ehtoparin mukaan tai usean. Ehtoalueet ja ehdot erotetaan toisistaan puolipilkulla. Ensimmäisen ehtoalueparin jälkeen tulee ehtoalue 2;ehdot 2;ehtoalue 3; ehdot 3; jne...


Esimerkki kaava 1: =LASKE.JOS.JOUKKO(C4:C37;"hs")

C4:C37= ehtoalue, "hs"= ehto. Funktio etsii tuolta solualueelta kaikki hs-merkinnät ja ilmoittaa niiden yhteistuloksen. Jos ehto kirjoitetaan tekstillä tai ehdossa on useampia merkkejä,  laitetaan se lainausmerkkeihin. Aina jos mahdollista, kannattaa kuitenkin viitata tiettyyn soluun. Jos viittaat soluun ja sen lisäksi on muita merkkejä, et voi käyttää lainausmerkkejä. Katso seuraava esimerkki:

Esimerkki kaava 2: =LASKE.JOS.JOUKKO(C4:C37;"<"&L14)

Monta ehtoalueparia, esimerkki kaava 3:
=LASKE.JOS.JOUKKO(D4:D37;"mm";H4:H37;">15";H4:H37;"<40")

Esimerkkikaavat joukko-funktiot_maalajit excel -esimerkistä.



SUMMA.JOS.JOUKKO

Tällä funktiolla voidaan laskea yhteen tietyltä alueelta tietyt ehdot täyttäviä lukuja. Ehtoja voi olla useita.

Summa-alue: Alue, jolta luvut lasketaan yhteen.

Ehtoalue 1: Alue, jolta tiettyä ehtoa etsitään

Ehto 1: Etsittävä ehto (määrää lopuksi, mitkä solut lasketaan yhteen, eli täyttyykö ehto).

Ensimmäisen ehtoalueparin jälkeen tulee ehtoalue2;ehto2;ehtoalue3;ehto3 jne...



Esimerkki kaava 1:
=SUMMA.JOS.JOUKKO(C4:C37;D4:D37;"kht")

C4:C37 on summa-alue, D4:D37 on ehtoalue 1 ja "kht" on ehto 1.

Esimerkki kaava 2, viitataan ehdossa soluun
=SUMMA.JOS.JOUKKO(C4:C37;D4:D37;L23)

Sama kuin ensimmäisessä esimerkissä, mutta ehdossa 1 on viitattu soluun.

Esimerkki kaava 3, useita ehtoaluepareja

=SUMMA.JOS.JOUKKO(C4:C37;D4:D37;"mm";F4:F37;"<5,6")

C4:C37 on summa-alue, D4:D37 on ehtoalue 1,"mm" on ehto 1, F4:F37 on ehtoalue 2 ja "<5,6" on ehto 2.

Esimerkit joukko-funktio_maalajit excelistä.



FORMS

Lomakkeiden/kaavakkeiden luonti onnistuu Microsoftin FORMS-sovelluksella. Sovelluksen avulla on helppoa luoda ja muotoilla eri käyttötarkoituksiin soveltuvia kyselylomakkeita. FORMS muodostaa vastauksista automaattisesti Excel-taulukon, josta kerättyä ainestoa on helppoa tutkailla ja käsitellä.

www.urly.fi -osoitteessa onnistuu esim. lomakkeen osoitteen lyhentäminen kätevämpään muotoon. Lyhempi osoite on mukavampi liittää kyselykutsuun.



TILASTOAINEISTON TARKISTAMINEN

Suuria tilastoaineistoja käytettäessä ensin on hyvä varmistua siitä, että aineisto on niin sanotusti täydellistä. Jos aineistossa on virheitä, kuten tyhjiä soluja väärässä paikassa tai osassa soluista lukujen sijasta tekstiä, eivät Excelin funktiot toimi oikein.

Aineiston virheettömyyttä voi tarkastaa erilaisten totuustestien avulla. Laske-funktion erilaiset sovellukset ovat tässä hyödyllisiä. Voidaan esimerkiksi selvittää otsikkorivienmäärä Laske.A-funktiolla, joka laskee kaikki solut pyydetyltä alueelta, joissa on tekstiä. Laske-funktio taas laskee solut, jotka ovat lukuja.

Se, missä soluissa laskemalla havaitut virheet ovat, voidaan selvittää tilanteen mukaan erilaisilla ON-alkuisilla kaavoilla, jotka tutkivat solun sisältämän tiedon tyyppiä. Kaava palauttaa arvon TOSI/EPÄTOSI. Tällaisia funktioita ovat esimerkiksi ONLUKU, ONTEKSTI, ONEI_TEKSTI, ja ONPARITON. 




TEHTÄVÄ

Esimerkkivideolla tutkitaan Laske.A-, Laske.Tyhjät-, Laske.Jos.Joukko- ja Summa.Jos.Joukko-funktioiden toimintaa varastoesimerkin kautta. Siinä sivutaan myös ehdollisen muotoilun käyttöä lyhyesti.