Excel keskustelu

Täältä varmaan löytyisi vastaus kysymykseeni.

Minulla on taulukko jossa on A1 kuljettaja, B1 tiimi ja C1 kuljettajan pisteet.

Minun pitäisi saada siitä haettua tiimi pisteet siten että se huomioisi vain tiimin 2 parasta kuljettajaa. Eli tiimissä voi olla vaikka 4 kuljettajaa, mutta se laskee vain 2 parasta kuljettajaa.

Annat B columnin rangelle, jossa on tiimit nimeksi esim. Tiimi.
Annat C columnin rangelle, jossa ovat kuljettajan pisteet nimeksi esim. Pisteet.

Laitat tiimin nimen soluun, vaikkapa F2 ja soluun G2 kaavan: =SUMPRODUCT(LARGE((Tiimi=F2)*(Pisteet),{1,2}))

1586614494148.png
 
On yksi rivi täynnä päivämääriä. Täytyisi saada ne muuttamaan taustaväriä keltaiseksi kun kirjoitetusta päivämäärästä on kulunut puoli vuotta ja punaiseksi kun on kulunut vuosi. Koitin netistä löytyneitä kaavoja mutta tämä uusin excel ei suostu niillä toimimaan. Ideoita?
 
On yksi rivi täynnä päivämääriä. Täytyisi saada ne muuttamaan taustaväriä keltaiseksi kun kirjoitetusta päivämäärästä on kulunut puoli vuotta ja punaiseksi kun on kulunut vuosi. Koitin netistä löytyneitä kaavoja mutta tämä uusin excel ei suostu niillä toimimaan. Ideoita?

Kristallipallo on nyt valitettavasti epäkunnossa eikä kerro mitä kaavoja olet netistä löytänyt, minne niitä olet tunkenut tai että mikä Excelin versio sulla on käytössä.
 
On yksi rivi täynnä päivämääriä. Täytyisi saada ne muuttamaan taustaväriä keltaiseksi kun kirjoitetusta päivämäärästä on kulunut puoli vuotta ja punaiseksi kun on kulunut vuosi. Koitin netistä löytyneitä kaavoja mutta tämä uusin excel ei suostu niillä toimimaan. Ideoita?
DATEDIF on funktio mitä tarvitset. =DATEDIF(verrattava_päivä;tämä_päivä;"m"), jossa "m" on erotus kuukausina. Tämän päivän saat TODAY()-funktiolla. Solujen väriä saat sitten muutettua kaiketi edollisella muotoilulla.
 
DATEDIF on funktio mitä tarvitset. =DATEDIF(verrattava_päivä;tämä_päivä;"m"), jossa "m" on erotus kuukausina. Tämän päivän saat TODAY()-funktiolla. Solujen väriä saat sitten muutettua kaiketi edollisella muotoilulla.
Mistäs tuo tämä päivä napataan?
 
Kristallipallo on nyt valitettavasti epäkunnossa eikä kerro mitä kaavoja olet netistä löytänyt, minne niitä olet tunkenut tai että mikä Excelin versio sulla on käytössä.
Uusin mitä saa. Eli kaavat ilmeisesti olleet vanhalle versiolle mitkä ei toimineet.
 
Uusin mitä saa. Eli kaavat ilmeisesti olleet vanhalle versiolle mitkä ei toimineet.

Niin, edelleenkään nyt et kerro että mitä kaavoja olet käyttänyt. Etkä esim. sitä että oletko laittanut niitä sinne ehdollisen muotoilun puolelle vai esim. suoraan johonkin soluun. Vaikea on arvata mikä sulla menee vikaan kun et kerro mitä olet tehnyt.

Esim. screenshotit niistä kokeiluistasi helpottaa huomattavasti niin näkee suoraan olennaiset asiat.
 
Niin, edelleenkään nyt et kerro että mitä kaavoja olet käyttänyt. Etkä esim. sitä että oletko laittanut niitä sinne ehdollisen muotoilun puolelle vai esim. suoraan johonkin soluun. Vaikea on arvata mikä sulla menee vikaan kun et kerro mitä olet tehnyt.

Esim. screenshotit niistä kokeiluistasi helpottaa huomattavasti niin näkee suoraan olennaiset asiat.
No en enää muista edes enää mitä kaavoja olen kokeillut ja ehdollisen muotoilun puolelle olisi tarkoitus tuo saada toimimaan. Koitin hakea googlella uudelleen niitä mitä kokeili mutten löytänyt. Yksinkertainen ja helppo ratkaisu olisi paras.
 
Yksinkertaisinta toi on tehdä vba työkaluilla. Kun sheet tulee aktiiviseksi, niin päivämäärän tarkastus rivien arvoilla ja sitten värin muokkaus. Tutkitko itse vai haluatko vastauksen tähän samalla?
Vastaus ois jees... en näistä kaavoista ja ylipäätään ohjelmoinnista yms ymmärrä.
 
No en enää muista edes enää mitä kaavoja olen kokeillut ja ehdollisen muotoilun puolelle olisi tarkoitus tuo saada toimimaan. Koitin hakea googlella uudelleen niitä mitä kokeili mutten löytänyt. Yksinkertainen ja helppo ratkaisu olisi paras.

Alla esimerkki:
condform.PNG
 
Osaisiko joku auttaa. Tarkoitus olisi luoda ehdollinen muotoilu soluun jossa on päivämäärä. Eli esim. 12.05.2020. Mikäli tämä päivämäärä on ohitettu, solun tulisi muuttua punaiseksi. Jos päivämäärään on vähemmän kuin neljä kuukautta (esim. tänään 6.7.2020) tulisi solun olla keltainen. =TÄMÄ.PÄIVÄ() -funktiolla en itse tähän kyennyt.
 
Osaisiko joku auttaa. Tarkoitus olisi luoda ehdollinen muotoilu soluun jossa on päivämäärä. Eli esim. 12.05.2020. Mikäli tämä päivämäärä on ohitettu, solun tulisi muuttua punaiseksi. Jos päivämäärään on vähemmän kuin neljä kuukautta (esim. tänään 6.7.2020) tulisi solun olla keltainen. =TÄMÄ.PÄIVÄ() -funktiolla en itse tähän kyennyt.
Ehdollisella muotoilulla onnistuu. Käytettävä ehto on ohitettuihin päiviin on =TÄMÄ.PÄIVÄ<12.05.2020.

Tohon neljän kuukauden tapaukseen voit käyttää PVMERO-funktiota. Eli esim =JOS(PVMERO(12.05.2020, TÄMÄ.PÄIVÄ(), M) > 4; TOSI; EPÄTOSI). En testannut toimiiko, mutta saat varmaan ideasta kiinni.
 
Ehdollisella muotoilulla onnistuu. Käytettävä ehto on ohitettuihin päiviin on =TÄMÄ.PÄIVÄ<12.05.2020.

Tohon neljän kuukauden tapaukseen voit käyttää PVMERO-funktiota. Eli esim =JOS(PVMERO(12.05.2020, TÄMÄ.PÄIVÄ(), M) > 4; TOSI; EPÄTOSI). En testannut toimiiko, mutta saat varmaan ideasta kiinni.
Ohitetun päivämäärän sain toimimaan ehdollisella muotoilulla. Tuota 4kk:n tapausta en saanut suoraan ehdollisella muotoilulla toimimaan. Kiersin sen tekemällä apusolun jossa tämä 4kk:n erotus lasketaan. Ehdollinen muotoilu hakee arvon sieltä ja mikäli siellä luku on pienempi kuin 4kk:tta niin päivämäärä muuttuu keltaiseksi.

Ei vielä ihan sellainen kuin haluaisin, mutta toimii. Kiitos!
 
Ehkä nyt ei sentään, mutta olen tätä kolme vuotta yrittänyt löytää. Ratkaisua, jota en ole löytänyt. Olenko sitten imppesilli, toivottavasti en. Mutta tiedonkeruutaulukkoon tarvitsisi ominaisuuden, että jos vaikka soluun A1 kirjoitetaan numero yksi, lasketaan solun B1 arvo käyttäen solun P3 kaavaa. Taas jos soluun A1 kirjoitetaankin numero kaksi, lasketaan solun B1 arvo käyttäen solun P4 kaavaa. Ja niin edelleen. Jos tämän keksisi (jos-funktio?), niin kyllä olisi mahtavia taulukoita. Käytännössä, kun tuo laskukaava (Laasasenahon regressiomalli, 1982) on luokkaa ((0,036089)*d^2,01395)*((0,99676)^d)*(h^2,07025)*((h-1,3)^(-1,07209)), ja niitä on kolmea erilaista, niin ei niitä jokaiseen laskettavaan soluun viitsi käsin kirjoitella. Ja kysele ihmeessä kovasti, jos et kysymystäni ymmärtänyt, niin yritän parhaani mukaan teroitella.

Minulla on käytössä LibreOffice, mutta taitaa Excel-kaavat toimia siinä semmoisenaan.
 
Viimeksi muokattu:
Kannattaapi kysäistä tuolla, siellä on valmis aihe:
 
Olen tätä kolme vuotta yrittänyt löytää. Ratkaisua, jota en ole löytänyt. Olenko sitten imppesilli, toivottavasti en. Mutta tiedonkeruutaulukkoon tarvitsisi ominaisuuden, että jos vaikka soluun A1 kirjoitetaan numero yksi, lasketaan solun B1 arvo käyttäen solun P3 kaavaa. Taas jos soluun A1 kirjoitetaankin numero kaksi, lasketaan solun B1 arvo käyttäen solun P4 kaavaa. Ja niin edelleen. Jos tämän keksisi (jos-funktio?), niin kyllä olisi mahtavia taulukoita. Käytännössä, kun tuo laskukaava (Laasasenahon regressiomalli, 1982) on luokkaa ((0,036089)*d^2,01395)*((0,99676)^d)*(h^2,07025)*((h-1,3)^(-1,07209)), ja niitä on kolmea erilaista, niin ei niitä jokaiseen laskettavaan soluun viitsi käsin kirjoitella. Ja kysele ihmeessä kovasti, jos et kysymystäni ymmärtänyt, niin yritän parhaani mukaan teroitella.
 
Kannattaapi kysäistä tuolla, siellä on valmis aihe:

Lähetin viestini sille, mutta itse en näe noita yleisketjuja kovin hedelmällisenä, koska yksittäiset, sinänsä passelit ratkaisut ihmisten pulmiin hukkuvat satojen viestien sekaan. Tämä vaatisi koko viestiketjun lukemista, joka taas ei ole järkevää verrattuna yksittäisiin ketjuihin aina pulmaa kohti. Toki yleisketjut lunastavat paikkansa esimerkiksi tyyliin, mikä auto sinulla on, mikä oli ensimmäinen tietokoneesi jne. yleisluonteiseen jutusteluun, jossa kokonaisuus on jopa rikkaampi, kun kaikki aiheesta kootaan samaan triidiin.
 
Ehkä nyt ei sentään, mutta olen tätä kolme vuotta yrittänyt löytää. Ratkaisua, jota en ole löytänyt. Olenko sitten imppesilli, toivottavasti en. Mutta tiedonkeruutaulukkoon tarvitsisi ominaisuuden, että jos vaikka soluun A1 kirjoitetaan numero yksi, lasketaan solun B1 arvo käyttäen solun P3 kaavaa. Taas jos soluun A1 kirjoitetaankin numero kaksi, lasketaan solun B1 arvo käyttäen solun P4 kaavaa. Ja niin edelleen. Jos tämän keksisi (jos-funktio?), niin kyllä olisi mahtavia taulukoita. Käytännössä, kun tuo laskukaava (Laasasenahon regressiomalli, 1982) on luokkaa ((0,036089)*d^2,01395)*((0,99676)^d)*(h^2,07025)*((h-1,3)^(-1,07209)), ja niitä on kolmea erilaista, niin ei niitä jokaiseen laskettavaan soluun viitsi käsin kirjoitella. Ja kysele ihmeessä kovasti, jos et kysymystäni ymmärtänyt, niin yritän parhaani mukaan teroitella.

Onhan excelissä if().

Pitäisi mennä tyyliin B1 kaavaksi =if(A1=1, P3, if(A1=2, P4, if(A1=3, P5, 0), 0, 0)

Ja P3,4,5 lasketaan aina syöttöarvoista.
Tuo on muistista joten ei ole varmaa meneekö sisäkkäiset noin ja erotin riippuu maa-asetuksista. Suomenkielisessä on joku muu funktio kuin if() mutta sekin pitäisi selvitä googlella.
Tämä olettaa että kasvojen syötteet löytyvät aina samasta paikasta ja niitä muutettaessa lasketaan tulos aina kaikilla 3 kaavalla.

Toinen vaihtoehto voisi olla vba- makro joka lukee A1 arvon, käyttää sen perusteella oikeaa kaavaa ja kirjoittaa tuloksen B1.
 
Olen tätä kolme vuotta yrittänyt löytää. Ratkaisua, jota en ole löytänyt. Olenko sitten imppesilli, toivottavasti en. Mutta tiedonkeruutaulukkoon tarvitsisi ominaisuuden, että jos vaikka soluun A1 kirjoitetaan numero yksi, lasketaan solun B1 arvo käyttäen solun P3 kaavaa. Taas jos soluun A1 kirjoitetaankin numero kaksi, lasketaan solun B1 arvo käyttäen solun P4 kaavaa. Ja niin edelleen. Jos tämän keksisi (jos-funktio?), niin kyllä olisi mahtavia taulukoita. Käytännössä, kun tuo laskukaava (Laasasenahon regressiomalli, 1982) on luokkaa ((0,036089)*d^2,01395)*((0,99676)^d)*(h^2,07025)*((h-1,3)^(-1,07209)), ja niitä on kolmea erilaista, niin ei niitä jokaiseen laskettavaan soluun viitsi käsin kirjoitella. Ja kysele ihmeessä kovasti, jos et kysymystäni ymmärtänyt, niin yritän parhaani mukaan teroitella.
Voisiko nuo kaavat vain kopioida piilotettuihin soluihin? Eli joka rivillä laskettaisiin kaikki versiot ja sitten B1 sisältö olisi tyyliin
=IF(A1=1, X1, IF(A1=2, Y1, IF(A1=3, Z1, '')))
tuossa ne kaavat on x,y ja z soluissa joka rivillä ja solussa b1 näytetään joku niistä kolmesta tai '' eli tyhjä jos numeroa ei ole tai se on joku muu.
 
Olen tätä kolme vuotta yrittänyt löytää. Ratkaisua, jota en ole löytänyt. Olenko sitten imppesilli, toivottavasti en. Mutta tiedonkeruutaulukkoon tarvitsisi ominaisuuden, että jos vaikka soluun A1 kirjoitetaan numero yksi, lasketaan solun B1 arvo käyttäen solun P3 kaavaa. Taas jos soluun A1 kirjoitetaankin numero kaksi, lasketaan solun B1 arvo käyttäen solun P4 kaavaa. Ja niin edelleen. Jos tämän keksisi (jos-funktio?), niin kyllä olisi mahtavia taulukoita. Käytännössä, kun tuo laskukaava (Laasasenahon regressiomalli, 1982) on luokkaa ((0,036089)*d^2,01395)*((0,99676)^d)*(h^2,07025)*((h-1,3)^(-1,07209)), ja niitä on kolmea erilaista, niin ei niitä jokaiseen laskettavaan soluun viitsi käsin kirjoitella. Ja kysele ihmeessä kovasti, jos et kysymystäni ymmärtänyt, niin yritän parhaani mukaan teroitella.
Tee vain jos-funktiolla. Käytä $B$1-muotoa linkeissä niin voit sitten kopioida kaavaa eri paikkoihin.
 
Onhan excelissä if().

Taisin selittää huonosti. Siis toki tiedän, että on tuo jos-funktio, if-funktio. Mutta en ymmärrä sen logiikkaa. Osaisin tehdä sillä vain jonkunlaisen taulukon, joka hakee vaikkapa kaikki "Musta" tekstin sisältävät solut ja palauttaa viereen kyllä tai ei. Tuon osaisin ohjeen avulla tehdä, mutta ketjutuksen logiikkaa en käsitä. Vielä.

Sekin on vielä sanottava, että nuo Laasasenahon tilavuusyhtälöt (1982) sisältävät kaksi muuttujaa, eli d ja h, eli läpimitta ja pituus. Ne syötetään rivillä omiin soluihinsa. Joten jos soluun A1 syötetään numero yksi, tarkoittaa se sitä, että lasketaan käyttäen solun P3 kaavaa männyn tilavuutta, mille on annettu samalle syöttöriville läpimitta ja pituus omiin soluihinsa, esim. soluihin B1 ja C1. Tämä käsittääkseni ei ole ongelma, kaavan saa kai toistumaan seuraaville riveille tavanomaiseen tapaan vetaisemalla hiirellä. Kunhan itse yhtälöön on korvattu, d solulla B1 ja h solulla C1.

Nyt mulla tässä muuttuivat näköjään hieman nuo esimerkin solun kirjaimet, mutta siis tieto kirjataan toki riveittäin, eli niin, että vaikka puulaji (yhtälön valintanro.) tulee soluun A1, läpimitta B1 ja pituus C1. Tulossolu olkoon vaikka G1.

Yritänpä vielä selittää uudestaan. Esimerkkejä:

  1. Soluun A1 syötetään numero yksi. Kaava "tajuaa", että nyt lasketaan rivin syötteet soluista B1 ja C1 soluun G1 käyttäen solussa P3 olevaa kaavaa.

  2. Soluun A1 syötetään numero kolme. Kaava "tajuaa", että nyt lasketaan rivin syötteet soluista B1 ja C1 soluun G1 käyttäen solussa P5 olevaa kaavaa.

Saman pitää toimia seuraavilla riveillä. Tulos lasketaan vain sillä kaavalla, johon soluun kirjoitettu numero yksi, kaksi tai kolme (tilavuusyhtälöitä on kolme erilaista) viittaa.

BTW käytössä on LibreOffice, mutta taitaa samat kaavat toimia.
 
Viimeksi muokattu:
Voisiko nuo kaavat vain kopioida piilotettuihin soluihin? Eli joka rivillä laskettaisiin kaikki versiot ja sitten B1 sisältö olisi tyyliin
=IF(A1=1, X1, IF(A1=2, Y1, IF(A1=3, Z1, '')))
tuossa ne kaavat on x,y ja z soluissa joka rivillä ja solussa b1 näytetään joku niistä kolmesta tai '' eli tyhjä jos numeroa ei ole tai se on joku muu.

Hyvä! Päästiin vähän eteenpäin. Saan toimimaan, jos laitan vain ekan kohdan. Mutta jos muut laitan, tulee erroria. Käytössä siis Libre Office. Nyt pitäisi vaan osata ketjuttaa tuo siten, että kun kirjoitan numeron kaksi, osaa se hakea solusta Y1 (itse käytän aktuaalisessa taulukossa eri soluja, mutta ymmärrät varmaan) funktion. Jne.

Sieppaa.PNG
 
Viimeksi muokattu:
Hyvä! Päästiin vähän eteenpäin. Saan toimimaan, jos laitan vain ekan kohdan. Mutta jos muut laitan, tulee erroria. Käytössä siis Libre Office. Nyt pitäisi vaan osata ketjuttaa tuo siten, että kun kirjoitan numeron kaksi, osaa se hakea solusta Y1 funktion. Jne.

Sieppaa.PNG
Itelläni on suomenkielinen exceli nyt käsillä ja tuossa on oikea formaatti sille. tuo pilkku ja puolipisteformaatti taitaa erota siksi että suomessa on desimaalipilkku ja jenkissä piste.
1592584728391.png


=JOS(A1=1;H1;JOS(A1=2;I1;JOS(A1=3;J1;"")))

Libreofficen ohjekirjasta katsottuna libreoffice käyttää kans puolipiste-erotinta, mutta ei ilmeisesti käännä käskyjä suomeksi riippumatta ohjelman kielestä.
Silloin koodi olisi

=IF(A1=1;H1;IF(A1=2;I1;IF(A1=3;J1;"")))
 
Libreofficen ohjekirjasta katsottuna libreoffice käyttää kans puolipiste-erotinta, mutta ei ilmeisesti käännä käskyjä suomeksi riippumatta ohjelman kielestä.
Silloin koodi olisi

=IF(A1=1;H1;IF(A1=2;I1;IF(A1=3;J1;"")))

Libre kyllä kääntää funktioiden nimet suomeksi. Siksi vaihdoinkin käyttöliittymän kielen enkuksi, kun aina oli vaikeuksia etsiä vinkkejä käyttöön enkunkielisiltä sivuilta. Nyt käytän siis englanninkielisenä ja siten myös funktiot ovat englanniksi.

Valitettavasti ei onnistunut vieläkään, Error:509. Teinkö väärin jotakin? Kts. kuva alla.

Sieppaa.PNG

Sitten, tuo kenttä, johon syötetään se numero 1, 2, tai 3, pitäisi toimia niin, että kenttään voi syöttää myös numero 4 tai 5 tai 6 tai 7 tai 8 tai 9, ja nämä numerot viittaisivat kaavaan, jota käytetään numerolla 3. Jos ja kun if-funktio ylipäätään saan toimimaan, pitääkö tuo toteuttaa sitten pilkulla vai or-sanalla? Eli tyyliin C12=3 or 4 or 5 or 6 or 7 or 8 or 9 .
 
Libre kyllä kääntää funktioiden nimet suomeksi. Siksi vaihdoinkin käyttöliittymän kielen enkuksi, kun aina oli vaikeuksia etsiä vinkkejä käyttöön enkunkielisiltä sivuilta. Nyt käytän siis englanninkielisenä ja siten myös funktiot ovat englanniksi.

Valitettavasti ei onnistunut vieläkään, Error:509. Teinkö väärin jotakin? Kts. kuva alla.

Sieppaa.PNG

Sitten, tuo kenttä, johon syötetään se numero 1, 2, tai 3, pitäisi toimia niin, että kenttään voi syöttää myös numero 4 tai 5 tai 6 tai 7 tai 8 tai 9, ja nämä numerot viittaisivat kaavaan, jota käytetään numerolla 3. Jos ja kun if-funktio ylipäätään saan toimimaan, pitääkö tuo toteuttaa sitten pilkulla vai or-sanalla? Eli tyyliin C12=3 or 4 or 5 or 6 or 7 or 8 or 9 .
Sulla puuttuu ennen lainausmerkkejä "" puolipiste.
P12"" pitäis olla P12;""

jos haluat 3 ns default vastaukseksi kaikille isommille numeroille niin muuta niin että on
=IF(C12=1;N12;IF(c12=2;O12;IF(C12>=3;P12;"")))

Tuo lukee jos C12 on 1 niin näytä N12, muuten jos C12 on 2 näytä O12 muuten jos C12 on suurempi tai yhtäsuuri kuin 3 näytä P12, muuten näytä tyhjä teksti
 
EDIT: RATKESI

Minulla on ongelma taulukon kanssa. Taulukossa on tarkoitus esittää lukusarja, jonka arvoista osa on negatiivisia. Taulukossa kyllä näkyy skaala -5 asti, mutta nuo graafit jäävät miinusmerkkisten arvojen kohdallakin nollan tasoon. Eli eivät näy oikein tasolla -5, jota arvoa niiden pitäisi esittää.

Onko kellään tullut aiemmin vastaan? Office 365 käytössä.
 
Taulukon asetuksissa on kohta, josta saa säätää tuota asteikkoa. Tarkista, että siellä ei ole oletuksena 0.

Huomasin, että oli jo ratkennut.
 
Heipä hei. Olisko täällä tietäjää, joka osaisi kertoa miten seuraava onnistuisi:

Minulla on excel-taulukkoja (raportteja), jonka sisältö on yleensä 200-2000riviä. Oleellisia sarakkeita on vain yksi, joka pitää sisällään tärkeää tietoa. Tuohon yhteen sarakkeeseen kertyy rivejä, joita voidaan tiettyjen solussa olevien sanojen perusteella deletoida turhina riveinä pois. Olen tätä nyt käsin aika ajoin tehnyt, tai siis käyttämällä CTRL+F ja sitä kautta poistamalla kaikki yhtä sanaa matchaavat rivit...mutta.. kun näitä sanoja joiden perusteella rivejä voi poistaa, on useita.

Siksi tiedustelisin fiksua tapaa, millä jokainen ajettu erillinen excel-raportti voitaisiin nappia painamalla saada tekemään lista filtteröintejä ja näiden perusteella rivipoistoja. Lopputuloksena siis aina kun uusi raportti on nokkani edessä, klikkaisin excelistä jotakin nappulaa, joka automaattisesti poistaisi kaikki rivit joissa on tietyt sanat ja lopuksi jäljelle jäisi vain kaikki relevantti data. Apua..
 
Heipä hei. Olisko täällä tietäjää, joka osaisi kertoa miten seuraava onnistuisi:

Minulla on excel-taulukkoja (raportteja), jonka sisältö on yleensä 200-2000riviä. Oleellisia sarakkeita on vain yksi, joka pitää sisällään tärkeää tietoa. Tuohon yhteen sarakkeeseen kertyy rivejä, joita voidaan tiettyjen solussa olevien sanojen perusteella deletoida turhina riveinä pois. Olen tätä nyt käsin aika ajoin tehnyt, tai siis käyttämällä CTRL+F ja sitä kautta poistamalla kaikki yhtä sanaa matchaavat rivit...mutta.. kun näitä sanoja joiden perusteella rivejä voi poistaa, on useita.

Siksi tiedustelisin fiksua tapaa, millä jokainen ajettu erillinen excel-raportti voitaisiin nappia painamalla saada tekemään lista filtteröintejä ja näiden perusteella rivipoistoja. Lopputuloksena siis aina kun uusi raportti on nokkani edessä, klikkaisin excelistä jotakin nappulaa, joka automaattisesti poistaisi kaikki rivit joissa on tietyt sanat ja lopuksi jäljelle jäisi vain kaikki relevantti data. Apua..
Power query ja transform data. Kaikkein yksinkertaisin tapa koska voit luoda sille kyselylle vaikka kuinka paljon sääntöjä poistettavista riveistä datatyyppien muunnoksiin. Yksi nappi eli "refresh all" hoitaa päivityksen.
 
Power query ja transform data. Kaikkein yksinkertaisin tapa koska voit luoda sille kyselylle vaikka kuinka paljon sääntöjä poistettavista riveistä datatyyppien muunnoksiin. Yksi nappi eli "refresh all" hoitaa päivityksen.

Ennen kuin alan googlesta tutkimaan, niin onko tämä jokin sellainen ominaisuus joka voi olla itse excel sovelluksessa tallennettuna, ettei sitä tarvitse joka kerta erikseen rakentaa uuteen exceliin?
 
Riippuu ihan miten se raportti generoidaan.

Englanninkielisessä excelissä Data-välilehden alla Get Data nappulan alla on vaihtoehtoja sille miten/mistä data haetaan. Se voi olla saman työkirjan taulukosta, toisen työkirjan taulukosta, tietokannasta, netistä tai oikeastaan mistä vaan. Jos sinulle siis lähetetään tasaisin väliajoin vain työkirja jossa taulukko, joudut itse ajamaan sille uuden työkirjan datalle kyselyn. Jos taas voit itse hakea tiedot jostain muualta, kannattaa tehdä oma työkirja joka hakee tiedot ja tekee datalle haluamasi muutokset. Aavistuksen hankala selittää kun ei tiedä enempää yksityiskohtia.

Tietysti voit myös tehdä taulukolle ihan vaan filtteröintiä paikallaan vanhanaikaisesti.
 
Riippuu ihan miten se raportti generoidaan.

Englanninkielisessä excelissä Data-välilehden alla Get Data nappulan alla on vaihtoehtoja sille miten/mistä data haetaan. Se voi olla saman työkirjan taulukosta, toisen työkirjan taulukosta, tietokannasta, netistä tai oikeastaan mistä vaan. Jos sinulle siis lähetetään tasaisin väliajoin vain työkirja jossa taulukko, joudut itse ajamaan sille uuden työkirjan datalle kyselyn. Jos taas voit itse hakea tiedot jostain muualta, kannattaa tehdä oma työkirja joka hakee tiedot ja tekee datalle haluamasi muutokset. Aavistuksen hankala selittää kun ei tiedä enempää yksityiskohtia.

Tietysti voit myös tehdä taulukolle ihan vaan filtteröintiä paikallaan vanhanaikaisesti.

Onko makrot excelissä jotenkin "globaaleja", että sisältyvät ikään kuin exceliin ja ovat käyttäjän käytettävissä aina kun excel avataan, vai ovatko makrot työkirjakohtaisia? Haen tässä sitä, että jos olisi mahdollisuus luoda makro jossa filtteröinti tehdään, niin sitä voisi aina kliksauttaa kun uusi excel-työkirja avataan?
Tuo sun vinkki ja ehdotus on todennäköisesti järkevin, mutta kuulostaa liian ammattimaiselta minulle ja vaatii varmaan reippaasti enemmän ymmärrystä kuin muut mahdolliset keinot.
 
Onko makrot excelissä jotenkin "globaaleja", että sisältyvät ikään kuin exceliin ja ovat käyttäjän käytettävissä aina kun excel avataan, vai ovatko makrot työkirjakohtaisia? Haen tässä sitä, että jos olisi mahdollisuus luoda makro jossa filtteröinti tehdään, niin sitä voisi aina kliksauttaa kun uusi excel-työkirja avataan?
Tuo sun vinkki ja ehdotus on todennäköisesti järkevin, mutta kuulostaa liian ammattimaiselta minulle ja vaatii varmaan reippaasti enemmän ymmärrystä kuin muut mahdolliset keinot.
Makron tekeminen on itse asiassa huomattavasti työläämpää ja globaalit makrot ovat loppujen lopuksi melko hanurista koska ne tosiaan ovat globaaleja eli ovat käytössä jokaisessa työkirjassa jonka käyttäjä avaa jos globaalin makron sisältävä työkirja on auki. Tallentaminen .xlsm-muotoon myös tekee työkirjasta firman security policystä riippuen yleensä epäluotetun oletuksena.

Power querylla ei tarvita makroja. Sen käyttäminen on todella helppoa kun sen logiikasta pääsee jyvälle.

Teetkö siis itse raportteja muille jaettavaksi vai oletko raportin vastaanottaja? Minkälainen on datalähteesi? Jos kerrot vähän tarkemmin tilanteesta voin antaa step-by-step ohjeita.
 
Makron tekeminen on itse asiassa huomattavasti työläämpää ja globaalit makrot ovat loppujen lopuksi melko hanurista koska ne tosiaan ovat globaaleja eli ovat käytössä jokaisessa työkirjassa jonka käyttäjä avaa jos globaalin makron sisältävä työkirja on auki. Tallentaminen .xlsm-muotoon myös tekee työkirjasta firman security policystä riippuen yleensä epäluotetun oletuksena.

Power querylla ei tarvita makroja. Sen käyttäminen on todella helppoa kun sen logiikasta pääsee jyvälle.

Teetkö siis itse raportteja muille jaettavaksi vai oletko raportin vastaanottaja? Minkälainen on datalähteesi? Jos kerrot vähän tarkemmin tilanteesta voin antaa step-by-step ohjeita.

Kiitos.
Olen siis raportin vastaanottaja. Käytännössä A-sarakkeessa on se 200-2000 riviä, ja sarakkeen soluissa nimiä. Oleellista on jättää nk. yleisimmät nimet pois, jotta jäljelle jäävä data on minulle oleellista. Datalähde on tietokanta, mutta lopputulos joka putkahtaa uunista ulos on csv-tiedosto.
 
Ok, oletan että tuo csv tulee kuin Manulle illallinen jollain syklillä? Tuleeko csv sinulle sähköpostiin, tallennetaanko ne johonkin verkkokansioon vai saatko ne jotenkin muuten?

Ja vielä lisäksi, onko yleisimpien nimien lista aina sama?
 
Viimeksi muokattu:
Tallentuu työaseman levylle filuna kun manuaalisesti komentokehotteessa naputan cscirpt komennon. Yleisimpien nimien lista on lähestulkoon vakiolista. Joskus tulee uusia lisäyksiä muttei usein.
 
Tallentuu työaseman levylle filuna kun manuaalisesti komentokehotteessa naputan cscirpt komennon. Yleisimpien nimien lista on lähestulkoon vakiolista. Joskus tulee uusia lisäyksiä muttei usein.

Pystyykö luodun csv:n esikäsittelemään ensin vaikka jättämällä pois ne rivit joissa esiintyy ne yleisimmät sanat tms ?

Jos ymmärsin oikein niin tarkoitus on suodattaa pois kaikki rivit joissa esiintyy tietty sana/tietyt sanat ?
Jos noita sanoja esiintyy vain yhdessä sarakkeessa/rivi sen voisi tehdä helposti esim grep- komennolla (tai vastaavalla vaikka powershellissä) ja tuloksena saadaan csv ilman kyseisiä rivejä ja sen voi sitten avata excelillä.

Sitten on vielä sekin mahdollisuus että muuttaa datan hakua (siis se cscript) jos mahdollista. Riippuu tietysti siitä mistä ne rivit alunperin tulee.
Jos jostain tietokannasta niin lisää hakuehtoja, ehkä jopa muutama hakuskripti eri ehdoilla eri tarpeisiin...
 
Aloittaisin tekemällä uuden tyhjän työkirjan jonka nimi voi olla vaikkapa "Uusin raportti". Paina Data-välilehdeltä Get Data -> From File -> From Folder ja anna polku johon CSV:t kirjoitetaan. Tämän jälkeen paina Transform Data. Power Queryn editointi-ikkuna aukeaa.

TD.PNG

Todennäköisesti haluat aina uusimman CSVn, joten suodata avointa listaa siten että haluat vain viimeisimmän Date Created-sarakkeen rivin:
2020-09-09.png

Avaa Content-sarakkeesta Binary jolloin saat näkyviin viimeisimmän CSVn sisällön Tähän tuli virhe, paina sitä pientä combine files nappulaa siinä sarakkeen oikeassa yläkulmassa jotta se tosiaan "yhdistää" aina viimeisimmän CSVn, muuten yrittää aina hakea juuri sen ensin valitsemasi rivin binarya mutta ei löydä koska se on jo suodatettu pois:
2020-09-09 (3).png

Filtteröi pois nimet joita et halua:
2020-09-09 (4).png

Paina Close & Load ja data ilmestyy uudelle välilehdelle.
2020-09-09 (5).png

Joka kerta kun avaat tämän "Uusin raportti"-työkirjan tai painat Data-välilehdeltä Refresh All, Power Query tekee kaikki nämä stepit automaattisesti, eli hakee kansiosta viimeisimmän CSVn, suodattaa ne rivit jotka ensimmäisen kerran suodatit pois ja näyttää tuloksen. Jos haluat muuttaa kyselyä voit aina lisätä, muokata tai poistaa steppejä jotka näkyvät editointi-ikkunan oikeassa reunassa "Applied Steps"-kentässä.

Tätä voisi vielä jalostaa siten että sinulla on poistettavien nimien lista vaikkapa toisella välilehdellä ja tuot senkin sisältämän datan listana Power Queryyn ja käytät sitä listaa suodatuskriteerinä. Tämä tosin vaatii jo vähän M-koodin muokkaamista käsin mutta google varmasti auttaa.

Power Queryn saat myös hakemaan sen datan suoraan sieltä tietokannasta eli välttämättä et tarvitse edes sitä skriptiä.
 
Viimeksi muokattu:
Aloittaisin tekemällä...

Tätä voisi vielä jalostaa siten että sinulla on poistettavien nimien lista vaikkapa toisella välilehdellä ja tuot senkin sisältämän datan listana Power Queryyn ja käytät sitä listaa suodatuskriteerinä. Tämä tosin vaatii jo vähän M-koodin muokkaamista käsin mutta google varmasti auttaa.

Power Queryn saat myös hakemaan sen datan suoraan sieltä tietokannasta eli välttämättä et tarvitse edes sitä skriptiä.

Okei, ja kiitos. Sain tehtyä ohjeiden mukaan ja wautsi, tämähän toimii. Miten hitossa pääsen takaisin power queryyn muokkaamaan filttereitä jos olen pulpauttanut sieltä nyt työkirjaan ne tuotokset. Päivitä kaikki -namiska päivittää aina uusimman hienosti, mutta jos haluan mennä jotain filtteriä lisäämään niin mistä tuonne olemassa olevaan pääsee?

Mites toi power queryn käyttäminen siihen datan hakemiseen suoraan, eli voiko tuolta nouda tiedot kohdasta jonnekin kiskasta cscript-lauseen ja hakisi automaattisesti ilman cmd:n avaamista?
 
Okei, ja kiitos. Sain tehtyä ohjeiden mukaan ja wautsi, tämähän toimii. Miten hitossa pääsen takaisin power queryyn muokkaamaan filttereitä jos olen pulpauttanut sieltä nyt työkirjaan ne tuotokset. Päivitä kaikki -namiska päivittää aina uusimman hienosti, mutta jos haluan mennä jotain filtteriä lisäämään niin mistä tuonne olemassa olevaan pääsee?

Data-välilehden Queries & Connections-nappi. Aukeavasta sivupaneelista kysely jota haluat muokata ja edit. Muokkaa sitä steppiä jossa suodatus tapahtuu, älä lisää uutta steppiä suodatukselle. Eli valitse ensin steppi niin näkyvä data menee siihen muotoon jossa se oli sen stepin aikana ja sitten vain muokkaat suodatinta.


Mites toi power queryn käyttäminen siihen datan hakemiseen suoraan, eli voiko tuolta nouda tiedot kohdasta jonnekin kiskasta cscript-lauseen ja hakisi automaattisesti ilman cmd:n avaamista?

En usko että onnistuu noin. Pitäisi päästä todennäköisesti suoraan kantaan kiinni. En tosin ole koskaan tutkinut.

Muoks: nyt kun googletin cscriptin niin se on siis ilmeisesti scripti joka sisältää SQL-kyselyn jonka se kirjoittaa CSVhen? Hae data sillä SQL-lauseella?
 
Viimeksi muokattu:
Data-välilehden Queries & Connections-nappi. Aukeavasta sivupaneelista kysely jota haluat muokata ja edit. Muokkaa sitä steppiä jossa suodatus tapahtuu, älä lisää uutta steppiä suodatukselle. Eli valitse ensin steppi niin näkyvä data menee siihen muotoon jossa se oli sen stepin aikana ja sitten vain muokkaat suodatinta.




En usko että onnistuu noin. Pitäisi päästä todennäköisesti suoraan kantaan kiinni. En tosin ole koskaan tutkinut.

Muoks: nyt kun googletin cscriptin niin se on siis ilmeisesti scripti joka sisältää SQL-kyselyn jonka se kirjoittaa CSVhen? Hae data sillä SQL-lauseella?

No sieltähän se löytyikin, millä pääsi takaisin muokkaamaan. Ei tätä itse asiassa saa tuotua suoraan haettavaksi exceliin. Eli cscriptilla ajetaan erillinen vbs tiedosto, joka hakee materiaalin palvelimelta. Siellä sciprtissä on sitten paljon rivejä ja jotain mikä fetchaa sitä tavaraa raporttimuotoon. Mutta tämä nykyinen malli on siis parempi kuin mitä osasin kuvitellakaan. Suuri kiitos sinulle @slarti avusta!!
 
No sieltähän se löytyikin, millä pääsi takaisin muokkaamaan. Ei tätä itse asiassa saa tuotua suoraan haettavaksi exceliin. Eli cscriptilla ajetaan erillinen vbs tiedosto, joka hakee materiaalin palvelimelta. Siellä sciprtissä on sitten paljon rivejä ja jotain mikä fetchaa sitä tavaraa raporttimuotoon. Mutta tämä nykyinen malli on siis parempi kuin mitä osasin kuvitellakaan. Suuri kiitos sinulle @slarti avusta!!

Nou problemo.

Se VBscripti todennäköisesti sisältää jotain vastaavaa kuin täällä olevassa esimerkissä. Siinä ConnectionString kertoo tietokannan yhteystiedot ja strSQL on SQL-lause jolla tiedot haetaan tietokannasta. Sen jälkeen objektin sisältämät tiedot syydetään messageboxiin. Se VBscript-filu siis melko varmasti sisältää kaikki tarvittavat tiedot jotta pääset käsiksi tietokantaan suoraan Power Querylläkin. Yksi vaihtoehto on tehdä makro siihen exceliin jonkun napin taakse joka suorittaa tuon skriptin ja sitten päivittää kyselyn kun CSV on muodostettu. Voi mennä tietysti turhaksi hifistelyksi jos tuolla muutaman sekunnin säästää.
 
Moi.

Tämä kylläkin liittyy MS Word ohjelmaan, mutta en löytänyt lankaa tästä. Täällä varmaan pystytään vastaamaan myös tähän.

Olisiko jollakin jakaa suomen kielen virallinen standardi normal.dotm tiedosto tai linkki, josta tuon löytäisi?
 
Moi.

Tämä kylläkin liittyy MS Word ohjelmaan, mutta en löytänyt lankaa tästä. Täällä varmaan pystytään vastaamaan myös tähän.

Olisiko jollakin jakaa suomen kielen virallinen standardi normal.dotm tiedosto tai linkki, josta tuon löytäisi?

Jos teet normal.dotm mallipohjaan muutoksia, jotka haluat kumota, voit yksinkertaisesti poistaa normal.dotm tiedoston. Jos Normal.dotm nimetään uudelleen tai se vioittuu tai siirretään, Word luo automaattisesti uuden version (jossa käytetään alkuperäisiä oletusasetuksia), kun seuraavan kerran käynnistät Wordin. Uusi versio ei sisällä mitään uudelleennimettyyn tai siirrettyyn versioon tehtyjä mukautuksia.

Löydät normal.dotm tiedoston kansiosta
C:\Users\käyttäjänimi\AppData\Roaming\Microsoft\Templates.

Tämä tieto löytyi Microsoftin ohjesivulta:
 
Mulla ois range, jossa on nimiä. Pitäs saada tietää, montako kertaa kukin nimi mainitaan. Ja tulos jonnekki toiselle sheetille tai ei välttämättä. Miten tämä pitäisi tehdä?
 
Mulla ois range, jossa on nimiä. Pitäs saada tietää, montako kertaa kukin nimi mainitaan. Ja tulos jonnekki toiselle sheetille tai ei välttämättä. Miten tämä pitäisi tehdä?

=COUNTIF(range;"Nimi") Tällä saa yhden tietyn nimen esiintymiskerrat.

Uusilla array-funkitioilla saat todella helposti uniikit nimet rangesta =UNIQUE(range)

Tämä palauttaa kaikki erilaiset nimet allekkain. Viereiseen soluun voit sitten laittaa tuon ensimmäisen funtion niin saat kaikkien rivien esiintymiskerrat.

Pitää vielä vähän funtsia miten tämän viereisen sarakkeen laskennan saa dynaamiseksi koska taulukko-objektin solun funktio ei voi olla array-funktio. EDIT: Täällä ohje miten tämän saa dynaamiseksi
 
Viimeksi muokattu:
Mulla ois range, jossa on nimiä. Pitäs saada tietää, montako kertaa kukin nimi mainitaan. Ja tulos jonnekki toiselle sheetille tai ei välttämättä. Miten tämä pitäisi tehdä?

Yksinkertaisesti pivot taulukko toiselle välilehdelle ja sitten rows kohtaan se nimi-kenttä + values kohtaan nimi-kenttä ?
 
Yksinkertaisesti pivot taulukko toiselle välilehdelle ja sitten rows kohtaan se nimi-kenttä + values kohtaan nimi-kenttä ?

Tajusin tuon edellisen neuvon, mutta firmassa ei ole office 365:ttä ja sen excelissä vasta on toi funktio joka tulisi käyttää.

Pivot taulukoista ei ole mitään kokemusta. Yritin, mutta en tajua näistä mitään.
 

Statistiikka

Viestiketjuista
258 257
Viestejä
4 486 906
Jäsenet
74 127
Uusin jäsen
rkj

Hinta.fi

Back
Ylös Bottom