Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Exceliin kaava, joka laskeen kahden eri arvon solujen määrän

Sivun loppuun

miksu75 [16.06.2009 14:11:15]

#

Moi!

Esim. tällainen taulukko

A B
1 Kissa 1
2 Kissa 1
3 koira 2
4 kissa 2
5 koira 1
6 kana 1
7 kissa 3
8 kissa 1

Eli pitäisi saada tietää solujen määrä, kun solun arvot ovat:

Kissa ja 1=?
Kissa ja 2=?
Kissa ja 3=?
Koira ja 1=?
Koira ja 2=?
Koira ja 3=?
Kana ja 1=?
Kana ja 2=?
Kana ja 3=?

Tässä tietysi helppo laskea itsekin, mutta rivien ollessa useampi sata on aika hankalaa. Millä kaavalla nämä ehtojen mukaiset kappalemäärät voitaisiin laskea? Ja käytössä on excel2003.

Teuro [16.06.2009 14:25:41]

#

Haluatko siis tietää parametrina annetun merkkijonon esiintymien määrän listassa? Esimerkissäsi siis solujoukossa B1:B300 olevien "Kissa 1" esiintymien määrän? Mikäli näin on voit tehdä seuraavasti.

Laita soluun D2 haluamasi parametri esimerkiksi "Kissa 1" Soluun E2 seuraava kaava: =LASKE.JOS(B1:B300;D2)

miksu75 [16.06.2009 14:46:29]

#

Siis esim. kissa ja numeeriset arvot ovat eri sarakkeissa ja siis myös soluissa.

ELI

A B
1 Kissa 1
2 Kissa 1
3 koira 2
4 kissa 2
5 koira 1
6 kana 1
7 kissa 3
8 kissa 1

Teuro [16.06.2009 14:52:30]

#

Tulkitsen tuosta edelleen, että B sarakkeessa olisi Kissa 1, mutta onko erityinen syy, että olisivat eri sarakkeissa? Muutetaan hiukaan kaava, mutta ei paljoa. Sarakkeessa A on siis juokseva numerointi. Sarakkeessa B on eläimen nimi ja sarakkeessa C on jokin numero. Laita soluun E2 eläimen nimi ja sarakkeeseen F2 haluttu numero, jonka jälkeen soluun G2 seuraava kaava =LASKE.JOS.JOUKKO(B1:B300;E2;C1:C300;F2)

miksu75 [16.06.2009 15:31:42]

#

Ok, eli taulukon pitäisi siis olla niin, että sarakkeessa A on eläimen nimi ja B sarakkeessa onnumeroita. Vasemmassa laidassa oleva numerointi kuvaa vain excelin rivinumeroita, ei muuta merkitystä niillä. Eläin ja numero on oltava eri sarakkeissa. Tein esimerkkisi mukaisen kaavan ja muutkin asiat, mutta silti ei laske vaan tulee #NIMI?. Eli pitäisi laskea esim. montako kissaa on saanut arvon 1, montako kissaa arvon 2, montako kissaa arvon 3, montako koiraa arvon 1 jne...

Teuro [16.06.2009 15:36:01]

#

Laskee taatusti, mikäli data vain on oikeassa paikassa. Mikäli olet laittanut nimet sarakkeeseen A tulee sinun omatoimisesti muuttaa myös kaavaa, johon muutos vaikuttaa. Eli siis jokaisen sarakeindeksin kirjainta tulee muuttaa pienemmäksi (B -> A, C -> B) ja niin edelleen.

miksu75 [16.06.2009 15:50:34]

#

Juuri näin toiminkin, mutta ei vaan laske. Olen tsekannut jo monesti ja data on aivan oikeassa paikassa. Ei vaan laske???

Teuro [16.06.2009 15:53:53]

#

   A    B       C         D     E       F
Kissa	1
Kissa	2               kana   2       2
Kissa	1
Kissa	2
Kissa	1
Kissa	2
Kissa	2
Kissa	1
Kissa	2
Kissa	1
Kissa	2
Kana	 6
Kana	 2
Kana	 6
Kana	 3
Kana	 1
Kana	 3
Kana	 2
Kana	 3

Nyt minulla on F2 solussa seuraava kaava =LASKE.JOS.JOUKKO(A1:A300;D2;B1:B300;E2) ja tulokseksi tulee siis 2.

miksu75 [17.06.2009 13:39:01]

#

Kiitos kovasti avusta, mutta en tiedä mikä tässä nyt on. Tein ihan identtisen taulukon sinun mallisi kanssa ja silti se ei laske, vaan tulee #Nimi?. Eikö tämä kaava pitäisi toimia myös tällä excel 2003 versiollakin?

Grez [17.06.2009 13:41:48]

#

Kai sinullakin on suomenkielinen Excel? (Sorry, tyhmä kysymys, kun se kerran sanoo #Nimi, eikä #Name)

miksu75 [17.06.2009 13:46:20]

#

Joo suomenkielinen tämä on.

Teuro [17.06.2009 14:07:42]

#

Voi kirosana sentään! Excel 2003 ei muuten ole vielä tuota funktiota implementoitu. Tulee vasta versiossa 2007, joka on mulla. Pahoitteluni virheestäni sun ekassa viestissä olikin se näköjään mainittu.

miksu75 [17.06.2009 14:17:04]

#

Eipä se mitään. Miten tää sama juttu toteutettaisiin sitten tässä mun vanhemmassa versiossa?

Grez [17.06.2009 14:41:54]

#

No itse laittaisin varmaan soluun C1 kaavan =A1&":"&B1 ja kopioisin sen alaspäin sitä kaikille riveille. Sitten F1:een kaava =LASKE.JOS(C$1:C$1000;D1&":"&E1) jota taas kopioidaan alaspäin. Ja sarakeen C voi sitten piilottaa jos ei halua noita ylimääräisiä tekstejä näkyviin

juhaz [27.06.2009 22:03:00]

#

Olisi vähän samansorttinen ongelma.

Eli minulla on ensin A16:sta alkava ja A54:ään loppuva lista numeroita ja vieressä C16 - C54 lista niiden numeroiden esiintymismäärästä.

Eniten esiintyvän saa julki näin:

=LARGE(C16:C54;1)

ja muuttamalla viimeistä ykköstä suuremmaksi saa seuraavaksi suurimman, mutta kuinka saisi tulostettua sen perusteella sen solun A16 - A54 numeron, joka Large-funktion mukaan esiintyy eniten?

Toivottavasti ei tullut hirveän epäselvästi kirjoitettua, kun mietin varmaan puoli tuntia, että miten ilmaisen itseäni tässä asiassa enkä ole oikein tyytyväinen vieläkään. :D

Teuro [28.06.2009 09:10:46]

#

LARGE funktio ei kuitenkaan taida antaa kuin suurimman arvon. MODE funktiolla voisit saada, sen mitä haluat. Se siis palauttaa sen arvon, jolla on suurin esiintymä.

juhaz [28.06.2009 12:13:09]

#

Teuro kirjoitti:

LARGE funktio ei kuitenkaan taida antaa kuin suurimman arvon. MODE funktiolla voisit saada, sen mitä haluat. Se siis palauttaa sen arvon, jolla on suurin esiintymä.

Mode ei kuitenkaan tulosta kuin sen yhden suurimman (mutta pitäisi tulostaa myös seuraavaksi suurimpia muutama kipale) ja se tulostaa vain seuraavanlaisesta excel-taulukosta:

   A
1: 1
2: 3
3: 3
4: 5
5: 4

Mutta minulla on tyyliin:

   A B
1: 1 1
2: 3 2
3: 5 1
4: 4 1

Eli varsinainen numero on A-sarakkeessa ja B-sarakkeessa numeron esiintymismäärä.

ja tuosta Large tulostaa "2" jos laittaa =Large(B1:B4;1), =Large(B1:B4;2) tulostaa "1".

Teuro [28.06.2009 12:21:18]

#

juhaz kirjoitti:

ja tuosta Large tulostaa "2" jos laittaa =Large(B1:B4;1), =Large(B2:B4;2) tulostaa "1".

Eli ihan oikein menee ensimmäinen palauttaa suurimman arvon ja toinen seuraavaksi suurimman. Miksi toisessa kaavassa ei oteta huomioon B1 solua? Tulos tosin ei muutu siitä, mutta ihmetyttää vain.

juhaz [28.06.2009 12:24:06]

#

Teuro kirjoitti:

juhaz kirjoitti:

ja tuosta Large tulostaa "2" jos laittaa =Large(B1:B4;1), =Large(B2:B4;2) tulostaa "1".

Eli ihan oikein menee ensimmäinen palauttaa suurimman arvon ja toinen seuraavaksi suurimman. Miksi toisessa kaavassa ei oteta huomioon B1 solua? Tulos tosin ei muutu siitä, mutta ihmetyttää vain.

Näppäilyvirhe.

Mutta ongelma on nyt, että pitäisi tulostaa se A-sarakkeen numero LARGE:n tuloksen perusteella, että tietäisi sen, että mikä numero esiintyy useimmiten.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta