Guest arttula

Excel ja sanat

15 viestiä aiheessa

Onko Excelissä jotain funktiota, jolla saa samassa solussa olevat sanat poimittua eri soluihin. Left(text;n) ei toimi, kun sanat ovat eri mittaisia. Kyseessä on solut, joissa on nimiä (etunimi sukunimi) ja pitäisi saada ne eri soluihin jotenkin näppärästi. En viitsi 1500 riviä käsin alkaa perkaamaan... :P

Jaa viesti


Link to post
Jaa muulla sivustolla

Onko Excelissä jotain funktiota, jolla saa samassa solussa olevat sanat poimittua eri soluihin. Left(text;n) ei toimi, kun sanat ovat eri mittaisia. Kyseessä on solut, joissa on nimiä (etunimi sukunimi) ja pitäisi saada ne eri soluihin jotenkin näppärästi. En viitsi 1500 riviä käsin alkaa perkaamaan... :P

 

Valkkaa se solu/sarake missä tiedot on. Sitten Tiedot -> Teksti sarakkeisiin -> Erottimeksi välilyönti, pilkku tai mikä nyt ikinä sulla sattuu erottimena olemaan

 

Enkkuversiossa Data -> Text to columns -> jne.

Jaa viesti


Link to post
Jaa muulla sivustolla

Hei, jatketaan tämän saman otsikon alla. On tosiaan viitisentoista vuotta, kun viimeksi enemmän dataa käsittelin Excelillä, ja näyttää taito unohtuneen. :(

 

Sain data-ajon tuloksena Excel-taulukon, jossa päivämäärät ja ajat ovat muotoa:2009-02-05 09:00:00. Olen jo onnistunut pilkkomaan tuon erillisiin soluihin, siten että PVM-solussa on tuo päivämäärä (tuossa muodossa). Sitten pilkoin sen ja muotoilin uudelleen lausekkeella =RIGHT(B4;2)&"."&MID(B4;6;2)&"."&LEFT(B4;4) muotoon: dd.mm.yyyy. Kopioin ja liitin ne vielä uudelleen pelkkinä arvoina (ei siis enää kaavaa "takana"). Nyt päivämäärät ovat kiltisti muotoa 05.02.2009.

 

Mutta... Nyt haluaisin nuo etunollat päivien ja kuukausien edestä pois. Format Cells -toiminnosta valitsen muodon d.y.yyyy. Silti nuo eivät muutu yhtään miksikään. Miksiköhän ? Pitäisi saada nuo etunollat pois, jotta voisin exportoida ne taas toiseen sovellukseen. Pitääkö tuo koko homma tehdä käsin (1500 tietuetta), vai onko jokin helpompi tapa ?

 

Jaa viesti


Link to post
Jaa muulla sivustolla

Ööh... Outoa. Tosiaan olen kopioinut nuo päivämäärät ja käyttänyt "Paste special" -toimintoa saadakseni vain "Values". Format Cells ei siis toimi. Mutta kun tuplaklikkaan jotain noista soluista siten, että sen arvo siis tulee editointiriville, ja sitten poistun solusta, sen jälkeen tuo Format Cells alkaa purra tuohon soluun. Eli solu jotenkin "aktivoituu". Mistäköhän moinen mahtaa johtua ? Onko jotain, millä voisin "aktivoida" nuo kaikki solut kerralla, ilman että pitää jokaista 1500:aa erikseen käydä klikkailemassa :P

Jaa viesti


Link to post
Jaa muulla sivustolla

Suosittelisin Arttu kysymään MrExcel foorumilta. Sieltä löytyy sellaiset Excel-gurut, että kysymykseen kuin kysymykseen saa vastauksen.

 

Kiitoksia vinkistä ! :thmbup: Pitääpä katsella tuota foorumia. Ehdin jo klikkailemaan läpi kaikki 1500 riviä, kun en muutakaan keksinyt. Mutta vastaisen varalle...

Jaa viesti


Link to post
Jaa muulla sivustolla

Päiväyksiä ja aikoja kannattaa Excelissä käsitellä aina sen omassa muodossa, joka siis pohjimmiltaan on desimaaliluku, joka kertoo montako vuorokautta on kulunut keskiyöstä 1.1.1900. Silloin päiväyksillä ja ajoilla on helppo laskea ja myös nuo solumuotoilut toimivat. Jos päiväys on sulla tekstimuodossa, voit muttaa sen oikeaksi päiväykseksi Excelin PÄIVÄYSARVO-funktiolla.

Jaa viesti


Link to post
Jaa muulla sivustolla

Onko jotain, millä voisin "aktivoida" nuo kaikki solut kerralla, ilman että pitää jokaista 1500:aa erikseen käydä klikkailemassa :P

 

Excel on siitä nirso, että se joko ymmärtää tai ei ymmärrä, mitä muotoa data on. Jollei soluissa ole muotoiluja, tämän huomaa parhaiten siitä, että tekstimuotoinen data menee automaagisesti solun vasempaan reunaan (kannattaa leventää saraketta) ja numeerinen (mukaanlukien päivämäärät) solun oikeaan reunaan.

 

Eli jos järkevältä näyttävä päivämäärä muotoa "2009-04-13 00:00:00" on sellaisenaan levennetyn sarakkeen vasemmassa laidassa, eikä ole tehty mitään muotoiluja, voi olla melko varma, että Excel ei tajua sitä päivämääräksi vaan pitää sitä merkityksettömänä pätkänä tekstiä.

 

Usein riittää kun tekee juuri niin kuin aioitkin (ja luultavasti manuaalisesti teitkin...) - eli "koskee" joka soluun. Jos dataa on paljon, se on työlästä. Koskeminen onnistuu esim. seuraavasti (esimerkissä juuri tuo päivämääräongelma):

  • valitse haluttu sarake
  • paina Ctrl+H (Replace/Korvaa)
  • laita haettavaan kohtaan "00:00" ja korvattavaan kohtaan sama teksti (ilman lainausmerkkejä)
  • paina Replace All/Korvaa kaikki ja ihmettele kun solut muuttuvat päivämääriksi

 

P.S. Excelin oletusasetuksilla "koskeminen" onnistuu myös näppäimillä, eli halutussa sarakkeessa painelee vuoron perään F2 (muokkaa) ja Enter (Seuraava rivi).

 

Jaa viesti


Link to post
Jaa muulla sivustolla

Lainaanpa säiettä esittääkseni tyhmän kysymyksen..  :-[

Kertokaapa taulukkolaskentagurut miten toteutan.

 

Esimerkkitaulukko:

taulu.jpg

 

Tuosta pitäisi saada laskettua A-sarakkeesta 's1', 's2' ja 's3' jne. -tekstien kappalemäärät ja B-sarakkeessa olevien vastaavien lukujen summa.

Tarkoituksena siis tehdä yhteenveto tyyliin:

 

s1 3kpl 158

s2 3kpl 176

s3 2kpl 47

 

Mulla käytössä Ooo, mutta excelin kaavat varmaan passaa siihen suoraan.

Taulukkolaskentaa on tullut käytettyä enemmän viimeksi vajaat 10 vuotta sitten, joten meinaa olla hieman funktiot ruosteessa.   ::)

 

 

--

Ari

Jaa viesti


Link to post
Jaa muulla sivustolla

Siis tarkoitatko että haluat laskea A- Sarakkeen määrät. Kuinka monta S1 esiintyy sarakkeessa A jne..

 

Voit valita koko A sarakkeen ja määritellä johonkin soluun laskennan =LASKE.JOS(A3:A11;"s1") ja toiseen soluun laskenta =LASKE.JOS(A3:A11;"s2") jne.

 

Eli LASKE.JOS funktio laskee kuinka monta haluttua merkkiä on annetulla aluuella. Voit määritellä minkä merkin tahansa merkkien " " väliin jonka kaava sitten halutulta alueelta tarkastaa.

 

Haitko tätä?

Jaa viesti


Link to post
Jaa muulla sivustolla

Siis tarkoitatko että haluat laskea A- Sarakkeen määrät. Kuinka monta S1 esiintyy sarakkeessa A jne..

 

Voit valita koko A sarakkeen ja määritellä johonkin soluun laskennan =LASKE.JOS(A3:A11;"s1") ja toiseen soluun laskenta =LASKE.JOS(A3:A11;"s2") jne.

 

Eli LASKE.JOS funktio laskee kuinka monta haluttua merkkiä on annetulla aluuella. Voit määritellä minkä merkin tahansa merkkien " " väliin jonka kaava sitten halutulta alueelta tarkastaa.

 

Haitko tätä?

 

Juurikin tuota hain. Ooo:ssa vastaava funktio on COUNTIF(). Kokeilinkin sitä aiemmin, mutten huomannut kokeilla lainausmerkkejä merkkijonon ympärille.

 

Sitten pitäisi vielä saada laskettua yhteen B-sarakkeessa vastaavalla rivillä olevat arvot.

Esimerkkitaulukko voisi olla vaikkapa kolmen auton ajopäiväkirja, jossa s1, s2 ja s3 ovat autoja ja B-sarakkeessa kilometrimäärä.

Pitäisi siis saada laskettua yhteenvetoon s1:n kilometrit jne.

 

btw. Liittyy tämäkin projekti ilmailuun. Kyseessä on lennokkipäiväkirja, johon merkitsen mm. lennätysajat, polttoaineen kulutuksen ja kulutetun akkukapasiteetin. Tarkoituksena seurata mm. akkujen lataussyklejä ja kunkin akun läpi kulkenutta kapasiteettia.

 

Kiitos avusta, kyllä tämä tästä etenee.

Jaa viesti


Link to post
Jaa muulla sivustolla

Tuolla varmaan avautuu idea:

 

=SUMMA.JOS(A1:B8;"s1";B1:B8)

 

Avautuihan se. Oli eilen jotenkin aivot solmussa.. Ooo:n vastaava funktio on SUMIF(), joka toimii aivan samalla tavalla.

Suuret kiitokset molemmille avusta!  :thmbup:

 

 

--

Ari

Jaa viesti


Link to post
Jaa muulla sivustolla

Luo uusi käyttäjätunnus tai kirjaudu sisään

Sinun täytyy olla jäsen osallistuaksesi keskusteluun

Luo käyttäjätili

Rekisteröi uusi käyttäjätili helposti ja nopeasti!


Luo uusi käyttäjätili

Kirjaudu sisään

Sinulla on jo käyttäjätili?


Kirjaudu sisään