4.3.1 Suhteelliset soluviittaukset

Suhteellinen viittaus on viittaamista sen paikan suhteen, jossa sillä hetkellä ollaan. Jokapäiväisessä elämässä käytettävät sanonnat "Mene tuonne!" tai "Tule tänne" ovat täysin sanojan paikasta riippuvaisia sanontoja. Suhteelliset soluviittaukset toimivat hyvin pitkälle samalla tavoin. Soluviittauksissa suhteellisuus ei kuitenkaan tule näkyville niin selkeästi, koska aina viitataan johonkin tiettyyn soluun. Esimerkiksi kirjoitettaessa soluviittaus =D1 soluun A1 viitataan oikeasti A1-solun oikealla puolella D-sarakkeessa ja samalla rivillä sijaitsevaan soluun. Kun viittaus kopioidaan esimerkiksi soluun B2, niin viittauksen kohteeksi muuttuukin solu E2. Kyseessä on siis puhtaasti paikasta riippuvainen viittaus! Kuten edellisestä esimerkistä havaitaan, niin soluviittauksen suhteellisuus tulee esille vasta kopioinnin yhteydessä.

mko031

Oheisen kuvan esimerkissä käytetään hyväksi suhteellisella soluviittauksella tapahtuvaa laskentaa. Esimerkissä on hintataulukko, jossa lasketaan ostoksista kertyviä kustannuksia tuotteittain. A-sarakkeessa näkyy tuotteen nimet, joita vastaavat yksikköhinnat on sijoitettu B-sarakkeeseen. C-sarakkeeseen on määritelty tuotteen kappalemäärä. D-sarakkeessa lasketaan tuotteille kokonaishintaa, joka muodostuu tuotteiden yksikköhinnan ja kappalemäärän tulona. Solussa D2 oleva kaava on määriteltynä suhteelliseksi, jolloin se on muotoa =B2*C2. Kyseessä on kaava, joka laskee samalta riviltä kahden D-sarakkeen vasemmalla puolella olevan solun tulon. Kun kaavaa kopioidaan D-sarakkeessa alaspäin, niin kaava muuttuu sen mukaisesti. Esimerkiksi soluun D3 tuleva kaava muuttuu kopioitaessa muotoon =B3*C3.

Suhteelliset soluviittaukset ovat erityisen hyödyllisiä erilaisten laskentataulukkojen tekemisessä. Kaavan kopioiminen on helppoa koko taulukon alueelle, joten säästytään samankaltaisten kaavojen kirjoittamiselta. Yleensä taulukkolaskennassa voi vähentää paljon työmääräänsä suunnittelemalla kaavat mahdollisimman yleiskäyttöisiksi. Kaikissa tapauksissa ei tietenkään voi käyttää suhteellisia soluviittauksia, joten tarvitaan myös absoluuttisia soluviittauksia.