Kirjoittaja Aihe: Kuinka lasken rivit Calcissa? -> Ratkaistu  (Luettu 3378 kertaa)

Sorkkarauta

  • Käyttäjä
  • Viestejä: 988
  • locked interfaces an' formats sucks fe real rank.
    • Profiili
Kuinka lasken rivit Calcissa? -> Ratkaistu
« : 08.01.09 - klo:10.23 »
Minulla on yksi asia, johon en tiedä ratkaisua. Tietäisiköhän täällä kukaan kuinka sen voisi ratkaista?

Olen Open Officen taulukkolaskennalla tilanteessa, jossa minulla on n. 1600 riviä ja jotka muodostuvat esim. seuraavasti:

AGED1
AGED1
AGED1
AGED1
AGED1
AGED2
AGED2
AGED5
AGED6
AGED6
AGED6
..jne.

Miten voisi selvittää, kuinka monta riviä minulla on taulukossa siten, että se ei laskisi identtisiä rivejä mukaan? Sen pitäisi ottaa laskennassa huomioon vain uniikki AGED -tapahtuma ja jättää laskuista pois mahdolliset duplikaatit kun niitä esiintyy.
« Viimeksi muokattu: 08.01.09 - klo:19.39 kirjoittanut Sorkkarauta »
Ubuntu iz da community developed, linux-based operatin system dat iz snoop fe laptops, desktops an' servers. hit contains all da applications yous need - da web browsa, presentashun, bit hof papa an' spreadsheet software, instant messagin an' much more.

serola

  • Käyttäjä
  • Viestejä: 647
    • Profiili
Vs: Kuinka lasken rivit Calcissa?
« Vastaus #1 : 08.01.09 - klo:11.31 »
Yksi vaihtoehto on COUNTIF (LASKE.JOS), mutta siinä vaaditaan pientä virittelyä. Ensinnäkin on suositeltavaa laskea tulokset eri taulukkoon, eli valitse alhaalta esim. Taulukko2, missä sitten kirjoitat ensin yhteen sarakkeeseen kaikki muuttujan eri vaihtoehdot allekkain: AGED1, AGED2, AGED5, AGED6 jne. Voit toki laittaa sellaisiakin muuttujan arvoja, joita ei esiinny, eli esim. AGED3, niin ei tarvi etsiskellä mitä esiintyy ja mitä ei. Sitten ensimmäisen arvon AGED1 oikealla puolella olevaan soluun lisäät funktion COUNTIF, jolle annat alueeksi Taulukko1:stä maalaten kaikki muuttujan arvot. Ehdoksi annat Taulukko2:sta poimien muuttujan arvon AGED1.

Nyt seuraa kinkkisempi vaihe. Mennään ensin takaisin soluun missä määritettiin COUNTIF ja lisätään Taulukko1 riviä ilmaisevien numeroiden eteen dollarimerkit. Lopputuloksen pitäisi näyttää tältä:

Koodia: [Valitse]
=COUNTIF(Taulukko1.A$1:A$8;A1)Nyt kaava voidaan huoletta kopioida jokaiselle alla olevalle riville Taulukko2:ssa jolloin laskenta kohdistuu aina samaan alueeseen Taulukko1:ssä, mutta ehto otetaan viereisestä solusta Taulukko2:ssa. Näin saadaan summat (eli frekvenssi) muuttujittain ja lopuksi sitten vain lasketaan kokonaissumma sarakkeen alle.

Toivottavasti selkisi, mutta varmasti muitakin vaihtoehtoja löytyy.


Edit: Ei perhana, kun tuli annettua väärä neuvo! Eli mitä näköjään kaipaat on funktio millä helposti lasketaan mitä erilaisia muuttujan arvoja on. Sori  :-[ Pitää vähän miettiä, mutta eikähän tuollekin löydy funktio.
« Viimeksi muokattu: 08.01.09 - klo:11.42 kirjoittanut serola »

serola

  • Käyttäjä
  • Viestejä: 647
    • Profiili
Vs: Kuinka lasken rivit Calcissa?
« Vastaus #2 : 08.01.09 - klo:13.20 »
Tosin edellisessä viestissäni esittämääni tapaa laskea frekvenssitaulukko voidaan edelleen käyttää erilaisten tapausten lukumäärän laskemiseksi.

Ensin lasketaan frekvenssitaulu laittamalla allekkain kaikki mahdolliset muutujan arvot:
Koodia: [Valitse]
AGED1 5
AGED2 2
AGED3 0
AGED4 0
AGED5 1
AGED6 2

Sitten lasketaan rivien lukumäärä COUNTIF funktiolla, jos arvo on suurempi kuin nolla:
Koodia: [Valitse]
=COUNTIF(B1:B6; ">0")
Lopputulos näyttää tältä:
Koodia: [Valitse]
AGED1 5
AGED2 2
AGED3 0
AGED4 0
AGED5 1
AGED6 2
4

Eli frekvenssitaulukon toisen pystysarakkeen alle saadaan nollasta poikkeavien tapausten lukumäärä. Hieman työlästä, mutta näin voidaan ilman monimutkaisempia funktioita laskea erilaisten tapausten lukumäärät sekä erikseen se miten monta erilaista tapausta lopujen lopuksi esiintyy.

serola

  • Käyttäjä
  • Viestejä: 647
    • Profiili
Vs: Kuinka lasken rivit Calcissa?
« Vastaus #3 : 08.01.09 - klo:14.27 »
Löysin tällaisen ratkaisun:
Koodia: [Valitse]
=IF(COUNTIF($A$1:A1;A1)=1;1;0)Tuo laitetaan kohteen oikealle puolelle ekalle riville ja sitten solu kopioidaan alapuolelle sarakkeen muille riveille. Lopuksi lasketaan sarakesumma funktiolla SUM. Tämä näyttäisi toimivan.

Edit: Lähde http://www.mrexcel.com/archive/Formulas/29119.html

Edit: Liitteenä vielä kuva, missä lisätty otsikkorivi ja solu B10 valittu funktion käytön osoittamiseksi.

[ylläpito on poistanut liitteen]
« Viimeksi muokattu: 08.01.09 - klo:15.01 kirjoittanut serola »

Sorkkarauta

  • Käyttäjä
  • Viestejä: 988
  • locked interfaces an' formats sucks fe real rank.
    • Profiili
Vs: Kuinka lasken rivit Calcissa?
« Vastaus #4 : 08.01.09 - klo:19.38 »
Toimii! Kokeilin tuota viimeistä. Toisaalta mielenkiinto heräsi tuohon aikaisempaankin toteutustapaan, sillä voisi saada vähän toisenkaltaista aikaiseksi.

Hurjasti kiitoksia. Tarjoan oluet jos olen samoihin aikoihin mestoilla jossain tapahtumassa =)
Ubuntu iz da community developed, linux-based operatin system dat iz snoop fe laptops, desktops an' servers. hit contains all da applications yous need - da web browsa, presentashun, bit hof papa an' spreadsheet software, instant messagin an' much more.

serola

  • Käyttäjä
  • Viestejä: 647
    • Profiili
Vs: Kuinka lasken rivit Calcissa? -> Ratkaistu
« Vastaus #5 : 08.01.09 - klo:21.52 »
Tuo kävi hyvästä taulukkolaskentaharjoituksesta :) Olen itsekin kaivannut moista funktiota, joten hyvä, että löytyi. Perusfunktiot ovat näköjään samoja kuin Microsoftin Excelissä, joten kannattaa jatkossakin penkoa Excel lähteitä. Joissain ohjeissa käytetään pilkkua puolipisteen sijaan, joten nuo kannattaa huomata korjailla, jos kopioidut funktiot ei tunnu toimivan.

Pellervo Kässi

  • Käyttäjä
  • Viestejä: 191
    • Profiili
Vs: Kuinka lasken rivit Calcissa? -> Ratkaistu
« Vastaus #6 : 09.01.09 - klo:13.12 »
Tämä oli todella hyvä vinkki, itsekin olen tällaista ominaisuutta joskus kaipaillut. Excelissä olen toteuttanut tuon viimeksi vba-makrolla, mutta tästä OO:n basicistä ei ota mitään selvää ... Kiitos tästä!