Excel-ohjelmointi.fi

Etusivu Hinnoittelu
Soita: 050 337 9941



Käyttäjän oma funktio eli UDF


Excelin käyttäjät hyödyntävät kaavoissaan tavallisimmin tuttuja valmisfunktioita eli työkirjafunktioita kuten SUMMA, JOS, VHAKU, PHAKU, jne.

Valmiiden funktioiden lisäksi Excelin VBA -ohjelmointiympäristö antaa mahdollisuuden laatia myös omia funktioita juuri käyttäjän tiettyyn tarpeeseen.

Käyttäjän itse laatimaa funktiota kutsutaan englannin kielessä termillä User Defined Function, lyhyesti UDF.


UDF:n eli käyttäjän oman funktion laatiminen tulee ajankohtaiseksi esimerkiksi seuraavissa tilanteissa:



Kun Excelissä ei ole valmiina funktiota

Esimerkki:

Esimerkkinä tilanne, missä Excel-tiedostoon halutaan näkyviin tieto tämän hetkisestä käyttäjästä. Excelissä ei ole valmiina tähän funktiota, mutta VBA:n avulla voidaan laatia funktio 'Kayttaja()', jolla asia saadaan hoidettua. Funktiota käytetään aivan samalla tavalla kuin Excelin normaaleja työkirjafunktioitakin:

Profiilinimi työkirjaan -funktio

Kun painetaan Enter, tulee soluun C2 sen käyttäjän tunnus jonka profiilissa parhaillaan ollaan. Tieto voidaan edelleen kirjoittaa VBA-koodin avulla talteen vaikka ulkopuoliseen tiedostoon ja siten kerätä sinne 'lokitiedostoa' kuka ja milloin on käsitellyt tiedostoa.

Funktion tuottama profiilinimi työkirjassa



Valmiiden työkirjafunktioiden avulla luodun kaavan yksinkertaistaminen

Esimerkki:

Tehtävänä on laskea hyvitys myyntisummille seuraavan taulukon mukaisesti:

Hyvitysprosentit

Asia voitaisiin hoitaa esimerkiksi kaavalla:

=IF(AND(B4>=0;B4<=99,99);B4*0,01; IF(AND(B4>=100;B4<=199,99);B4*0,02; IF(B4>=200;B4*0,03)))

Ja toimiihan se, hyvityssummat saadaan sen avulla laskettua:

Hyvityssumma kaavan avulla

Jos halutaan laskea enemmän hyvitysprosentteja, tulee edellä olevan kaavan päivittämisestä sitä hankalampaa mitä enemmän prosenttimääriä halutaan mukaan.

Toinen usein käytetty tapa on, että luodaan erillinen prosenttitaulukko, josta haetaan VHAKU (VLOOKUP) -funktion avulla käytettävä prosenttikerroin hyvityksen laskemiseksi. Tällöin prosenttitaulukon ylläpidosta tulee oma työnsä.

Kun prosenttitaulukkokin halutaan pois käyttäjän näkyvistä, voidaan asia hoitaa oman funktion laatimisella. Seuraavassa käytetään tällaista, nimeltään 'Hyvitys' jolle annetaan suluissa solu jonka sisältämästä arvosta hyvitysmäärä halutaan laskea. Sitä käytetään siis samalla tavalla kuin Excelin valmiita työkirjafunktioita.

Hyvityssumma funktion avulla

Oman funktion käyttö

Nyt jos halutaan ottaa mukaan lisää prosenttimääriä hyvityksiin, riittää tehdä vaadittavat muutokset funktion 'Hyvitys' määrittelyihin.

Tällä tavoin saadaan oman funktion avulla yksinkertaistettua käytettävää työkirjaa. Työkirjan käyttäjä saa hoidettua tehtävän vain yhdessä solussa olevan yksinkertaisen funktion kutsulla.

Yrityksessä voidaan laatia omista funktioista vaikka kokonainen funktiokirjasto jonka avulla on usein mahdollista lisätä huomattavastikin tuottavuutta Excel-työkirjojen työstämisessä. Ja useat työntekijät voivat käyttää kirjaston funktioita aina tarvitessaan.

Edelleen, uusia työkirjoja perustettaessa, voidaan jo olemassa olevia funktioita ottaa kirjastosta helposti käyttöön eri tavoin.



Datan perusteella muodostettu tuotos

Esimerkki 1:

Henkilötunnuksesta selvitetään ikä vuorokauden tarkkuudella.


Esimerkki 2:

Lukuna esitetty rahamäärä tuodaan esiin myös sanallisena esityksenä.


Esimerkki 3:

Funktiolle annetaan työntekijän tunnus. Funktio hakee tietokannasta kyseiseen työntekijään liittyviä tietoja. Nimi, ikä, osoite, osasto, esimies, miten pitkään ollut yrityksen työntekijänä, palkkatietoja, jne... Lopuksi tiedot palautetaan tekstiesityksenä helposti tulostettavaksi paperille.


Yleisesti:

Kolmessa edellisessä esimerkissä funktio saa tavalla tai toisella syötteen ja muodostaa sen perusteella yksikäsitteisen tuotoksen jonkin sovitun säännön mukaisesti

Syöte - funktio - tuotos

Huom: Usein funktiosta puhuttaessa ajatellaan asian liittyvän jotenkin laskemiseen kuten matematiikan tunnilla on tapana. Tietojenkäsittelyssä se olisi kuitenkin hyvin kapea ja rajoittunut käsitys funktiosta ja sen käyttötarkoituksista.



Itse laaditun funktion käyttö työkirjassa

Kun itse laadittu funktio tallennetaan työkirjan moduuliin ns. julkisena funktiona, se näkyy Funktion lisääminen (Insert Function) -ikkunassa Käyttäjän määrittämä (User Defined) -ryhmässä

Omien funktioiden ryhmä

Omat funktiot -luettelo

Kun Funktion lisääminen (Insert Function) -ikkunassa painetaan OK, pyytää järjestelmä vielä antamaan funktiolle argumentit kuten valmiiden työkirjafunktioidenkin kanssa:

Oman funktion argumentit

Oma funktio lisätty

Itse laaditun funktion käyttöönotto tapahtuu siis aivan samalla tavalla kuin Excelin valmiiden työkirjafunktioidenkin.



Kun haluat hyödyntää juuri omaan tarkoitukseesi laadittua funktiota niin ota rohkeasti yhteyttä ja kysy lisää. Soita 050 337 9941.