< Blogi
18.11.2019
-
Karri Hiekkanen

Dynaamiset matriisit Excelissä (ja päivittynyt laskentakone)

Excelissä voi kohta viitata solujen sijaan alueisiin ja luoda dynaamisia matriiseja.

Tähän asti Excelissä on toimittu solutasolla. Funktiot palauttivat yhden arvon, eivät useita arvoja. Nämä rajoitukset pystyi kiertämään käyttämällä matriisikaavoja (englanniksi array formula). Tämä oli kuitenkin monimutkaista ja "piilotettuna" ominaisuutena harvalle tuttu.

Uusi laskentakone (englanniksi calculation engine) kuitenkin muuttaa tämän ja samalla koko Excelin toimintalogiikkaa. Uusi laskentakone ei ole vielä julkaistu kaikille Office-käyttäjille tätä juttua kirjoittaessa (18.11.2019). Se on tällä hetkellä saatavilla vain Office Insider -testikäyttäjille. Uudet ominaisuudet pitäisi saapua kaikille vielä vuoden 2019 puolella.

Uudet ominaisuudet kannattaa siis ottaa jo nyt haltuun, tai ainakin olla tietoinen niistä.

Dynaamiset matriisit

Dynaaminen matriisi (englanniksi dynamic arrays) tarkoittaa muovautuvaa (dynaamista) aluetta/taulukkoa, joka sisältää rivejä ja/tai sarakkeita. Käytännössä tämä tarkoittaa, että voit jatkossa viitata suoraan alueeseen, et vain yhteen soluun!

Alla olevassa kuvassa yhdessä solussa on soluviittaus alueeseen, ja tästä syntyy dynaaminen matriisi. Dynaamisen matriisin tunnistaa sinisistä reunaviivoista, ilman alueen peittävää väriä.

Tässä esimerkissä on vain yksi kaava solussa C9, jolla viitataan 3x3 alueeseen. Tämä soluviittaus johtaa "levittymiseen", eli yhden solun kaavan lopputulema "levittyy" useampaan soluun.

#LEVITTYMINEN!-virhe

Dynaamisten matriisien kanssa Exceliin ilmestyi myös uusi virhetyyppi. #LEVITTYMINEN!-virhe (englanniksi #SPILL!) ilmoittaa, että dynaaminen alue ei mahdu kokonaan näkyville johtuen levittymisalueella olevasta datasta.

Alla olevassa esimerkissä dynaaminen matriisi ei mahdu levittymään, sillä sen vaatimalla alueella on muuta sisältöä solussa E9.

Viittaminen dynaamiseen matriisiin #-merkin avulla

Dynaamisten matriisien parhaat puolet ovat niihin viittaaminen ja niiden mahdollistamat uudet funktiot.

Sen lisäksi, että voit luoda dynaamisen matriisin viittaamalla alueeseen, voit myös viitata tähän dynaamiseen matriisiin. Tämä tapahtuu lisäämällä soluviittauksen perään #.

Alla olevassa esimerkissä C9 solussa on viittaus alueeseen =C4:E6, eli siinä on dynaaminen matriisi. Normaalilla soluviittauksella C9 soluun (=C9) näyttää Excel vain C9-solun arvon. Jos soluviittauksen perään lisätään #-merkki (=C9#), näyttää Excel koko dynaamisen matriisin.

@-merkki

Päivittyneen laskentakoneen seurauksena Excelissä voi ilmaantua @-merkki soluviittauksien yhteydessä. Excel on periaatteessa käyttänyt tätä aiemminkin, mutta se on ennen ollut "piilossa".

@-merkki yksinkertaisesti viittaa alueen saman rivin sisältöön. Tämä viittaustyyli on tuttu myös Excelin taulukko-ominaisuudesta.

Alla olevassa esimerkissä tehdään dynaaminen matriisi viittaamalla alueeseen, joka sen jälkeen päivitetään viittaamaan vain saman rivin sisältöön (lisäämällä @-merkin viittauksen alkuun). Kaavaa voi jatkaa halutessaan automaattisella täytöllä.

Näiden hienojen (hieman teoreettisten) ominaisuuksien jälkeen voi jäädä kysymys mihin sitten dynaamisia matriiseja voi käyttää?

Käyttöesimerkki: laskutoimitukset

Dynaamiset matriisit mahdollistavat esimerkiksi uudenlaisia laskutoimituksia. Voimme esimerkiksi kertoa kaksi dynaamista matriisia keskenään ja luoda näin uuden dynaamisen matriisin.

Voimme myös käyttää dynaamista matriisia funktioiden sisällä, esimerkiksi SUMMA-funktiossa.

Käyttöesimerkki: uudet funktiot

Kirjoitamme lähiaikoina tarkemmin uusista funktioista, jotka toimivat dynaamisten matriisien avulla. Nopeana esimerkkinä luodaan uusi lista, jossa näkyvät vain uniikit arvot käyttäen uutta =AINUTKERTAISET.ARVOT-funktiota (englanniksi =UNIQUE), jonka lopputulokseen (dynaamiseen matriisiin) viitataan tietojen kelpoisuuden tarkistamisessa. Näin saamme dynaamisen listan, josta voi poimia vain ennalta määrättyjä arvoja.

Jos haluat lisää Excel ja Office vinkkejä kannattaa tilata blogi suoraan sähköpostiin.

Tulevat blogit sähköpostiin?

Kiitos. Sähköpostiosoitteesi on tallennettu!
Oho! Jokin meni pieleen. Kokeile ihmeessä uudelleen.
Tietosuojaseloste