perjantai 15. elokuuta 2008

Excel Tips and Tricks 2: Juokseva rivinumerointi

Excel-taulukossa on rivitunnukset, mutta joskus tarvitaan rivinumerointia, joka ei kulje yhtä matkaa rivitunnusten numeroinnin kanssa vaan liittyy taulukon varsinaisiin tietoriveihin. Juokseva rivinumerointi on helppo lisätä automaattisena sarjana, mutta tällä tavoin lisätyn rivinumeroinnin rajat tulevat tietynlaisissa tilanteissa pian vastaan. Oletetaan, että kirjoitat taulukkoon tietoja esimerkiksi niiden saapumisjärjestyksessä, mutta valmiin taulukon pitäisi kuitenkin olla aakkosjärjestyksessä. Taulukon lajittelu on helppoa, mutta rivinumerot menevät sekaisin ja taas pitää korjailla. Voit toki luoda uuden automaattisen sarjan tai jättää rivinumerot lajittelusta pois, mutta seuraava ratkaisu kestää mm. rivien poistamisen ja eikä vaadi ylimääräisten valintojen tekemistä ennen lajittelua.

Excelin funktioiden joukossa on RIVI-funktio (ROW), jonka luvataan palauttavan viittauksen rivinumero. Ilman funktiotakin olisi tietysti päivänselvää, että esimerkiksi solu A100 on rivillä 100. Mutta useimpia funktioita ei kannatakaan jäädä tuijottamaan sellaisenaan vaan ne ovat parhaimmillaan vasta osana pidempää kaavaa tai yhdistettynä toisiin funktioihin. Oletetaan, että taulukkosi on laadittu oikeaoppisesti lajittelua silmälläpitäen eli siinä on sarakeotsikot ensimmäisellä rivillä varsinaisten tietojen alkaessa juosta riviltä 2. Oletetaan myös, että haluat tietoriveille rivinumeroinnin A-sarakkeeseen. Kirjoita siis A-sarakkeen toiselle riville kaava =RIVI()-1.

=RIVI() yksinään palauttaa sen rivin rivinumeron, jossa kaava on. Kaavan loppuosa vähentää kaavan olinpaikan yläpuolella olevien rivien lukumäärän riviviittauksesta. Kopioi kaavaa alaspäin niin moneen soluun kuin tarvitaan ja täytä taulukkoasi kaikessa rauhassa. Kun taulukko lajitellaan nimisaraketta kriteerinä käyttäen, rivinumerot ovat aina oikein. Voit jopa poistaa rivejä ja lisätä niitä. Lisätyn rivin kohdalle täytyy tietysti kopioida kaava yläpuolisesta solusta, mutta itse rivinumeroinnin oikeellisuuteen ei tarvitse puuttua.
Voit aivan mainiosti aloittaa taulukkosi tietojen lisäämisen vaikka riviltä 20, kunhan vain muistat vähentää yläpuolelle jäävien rivien lukumäärän funktion palauttamasta riviviittauksesta, =RIVI()-19.

2 kommenttia:

Anonyymi kirjoitti...

Terve!

Kuinkas silloin menetellään, jos rivit eivät ole peräjälkeen mutta haluaa kuitenkin juoksevan numeroinnin? Esim. jos soluissa B1,B2,B3 ja B8,B9,B10 on asioita jotka haluaisin numeroida siten, että A1:ssä olisi 1, A2:ssa 2, A3:ssa 3, A8:ssa 4, A9:ssä 5 ja A10:ssä 6.

Outi Lammi kirjoitti...

Kirjoita soluun A1 kaavaksi =JOS(B1<>"";LASKE.A($B$1:B1);"") ja kopioi alaspäin.