Excel tipsejä

roots

Hyperaktiivi
Ei taida olla tällaista ketjua...

Onko sellaista functioo joka pitää
solussa arvonsa kun se on joskus saanut arvon soluunsa.

Eli kuten vähän tähän tapaan
JOS(ehto ; arvo kun tosi ; arvo joka oli kun viimeksi oli tosi eli muisti viimeisestä 'tosi' arvosta)

Vähän kryptinen kyssäri mutta saako joku otetta...
 

puuteknikko

Vakionaama
Ei taida olla tällaista ketjua...

Onko sellaista functioo joka pitää
solussa arvonsa kun se on joskus saanut arvon soluunsa.

Eli kuten vähän tähän tapaan
JOS(ehto ; arvo kun tosi ; arvo joka oli kun viimeksi oli tosi eli muisti viimeisestä 'tosi' arvosta)

Vähän kryptinen kyssäri mutta saako joku otetta...
Tuo pitää varmaan tehdä jollain piilotetulla apusolulla ja VB-makrolla, ei onnistune muuten.
 

Sukke

Aktiivinen jäsen
Onko noita soluja paljon vai vain yksittäinen tai yksittäisiä? Ratkaisu riippuu ehkä vähän siitäkin.

Äkkiseltään kuulostaa siltä, että kannattaisiko tehdä arvon tallentaminen manuaalisesti.
 

roots

Hyperaktiivi
  • Keskustelun aloittaja
  • #6
Onko noita soluja paljon vai vain yksittäinen tai yksittäisiä? Ratkaisu riippuu ehkä vähän siitäkin.

Äkkiseltään kuulostaa siltä, että kannattaisiko tehdä arvon tallentaminen manuaalisesti.
Manuaalisti juu onnistuu kopy pastata, on noita nyt parikymmentä kertaa tehtävä.
 

Sukke

Aktiivinen jäsen
Manuaalisti juu onnistuu kopy pastata, on noita nyt parikymmentä kertaa tehtävä.

Laitat kaavalliset solut vaikka allekkain tai vierekkäin ja kopioit ne tai vaikka koko kaavarivit/-sarakkeet kokonaisuudessaan toiseen paikkaan pelkkinä arvoina.

Edit. Esim. siis pysyville arvoille varattu vierekkäinen rivi tai sarake, joiden soluihin voi sitten muualta viitata. Toki jos kaikkia soluja ei muuteta kerralla, menee asteen hankalammaksi.
 

kotte

Hyperaktiivi
Ymmärsin, että haet takaa eräänlaista muistia tai tilahistoriaa? Ainakin LibreOfficessa on mahdollisuus tallentaa eri versioita dokumentissa, kun ottaa dokumenttiversioinnin päälle. Lähtötiedothan tässä muuttunevat tuon loogisen ohjausmuuttujan perusteella ja periaatteessa taulukko stabiloituu, kun tuo nuo lähtötiedot on luettu ja uusi versio tulisi tallettaa tämän jälkeen. Versioinnilla kaikki versiot tallentuvat samaan tiedostoon yhtenä versiohistoriana ja noita voi käydä myöhemmin yksitellen lävitse ja ottaa lisäkäsittelyyn mikäli tarpeen.
 

roots

Hyperaktiivi
eikös se tuolla onnistu: http://excelohjeet.com/jos-funktio/
jotenkin niin, että on tosi, jos ei ole tyhjä...
Ei tuo skulaa, skulaa kun 'tosi' mutta kun 'epätosi' kirjoittaa päälle eli ei pysy se arvo mikä oli 'tosi' tilanteessa vaikka ei määrittele arvoa 'epätosi' tilanteelle... palauttaa '0'-arvon tai 'epätosi'- tekstin jos jättää ';' pois

tarkennusta vielä, siirretään syötettävästä solusta toiseen 'muistisoluun', jos syötetään ei-tyhjää arvoa, ja kun seuraavaksi tulee tyhjä, sitä ei siirretä jos-komennolla, jolloin muistisolussa on viimeisin 'tosi'-arvo.
Menee 'kehäviittauksiksi' ja erroroi.
 
Viimeksi muokattu:

jamseil

Aktiivinen jäsen
Makron nauhoituksella saisi vaikka sellaisen kohtuu vaivalla tehtyä, että jää kaikki historiassa lasketetut arvot talteen historiatietoon taulukon alle nappia painamalla.

Makro tekee insertillä uuden rivin, johon kopioi- liitä (vain arvot) tekniikalla tarvittavat tiedot talteen. Yhdessä rivin solussa voisi olla tallennuksen päivämäärä (Ctrl+; (puolipiste)) jos sille on tarvetta.

Täytyy huomenna töissä testata...
 

jamseil

Aktiivinen jäsen
Ei tehnyt tuohon mitään if-lausetta, nappi vain siirtää taulukon laskeman kulutuksen historia tietoon.

Makron saa näkyviin
Alt+F8
Edit

Tehty nauhoittamalla (View-Macros-Record macro), eli ei vaadi mitään koodaus taitoja.

Tekstilaatikon (napin) saa ajamaan tehdyn macro1 oikean napin takaa "Assign macro".
 

Liitteet

  • Historia makro.zip
    20,3 KB · Katsottu: 85

Kellarinlämmittäjä

Oppimiskäyrällä
Saakos kaavaan mitenkään kätevästi niin että excel itse laskisi mistä mihin lukuja lasketaan. Eli jos kaava vaikkapa =SUMMA(A1:A10) niin että nämä numerot saisi korvattua toisaalla lasketuilla / annetuilla soluarvoilla. Kaavaa voi tietysti kopioida mutta kun niissä tuppaa olemaan vaakasuuntaan vaihtelua.
 

jarkko_h

Vakionaama
Saakos kaavaan mitenkään kätevästi niin että excel itse laskisi mistä mihin lukuja lasketaan. Eli jos kaava vaikkapa =SUMMA(A1:A10) niin että nämä numerot saisi korvattua toisaalla lasketuilla / annetuilla soluarvoilla. Kaavaa voi tietysti kopioida mutta kun niissä tuppaa olemaan vaakasuuntaan vaihtelua.
Jos haluat korvata numerot 1 ja 10 jollain muualla lasketuilla luvuilla, niin tähän käy hyvin indirect funktio. Jos kyse tuosta, voin kirjoittaa esimerkin.

Indirectiä voi käyttää esim siten että poimii sillä esim isosta excelistä halutulla välillä (esim jotkin päivät) halutut solut laskentaan. Voi käyttää esim. pörssisähkön keskiarvohohintojen haentaan valittuna ajanjaksona.
 
Ei tuo skulaa, skulaa kun 'tosi' mutta kun 'epätosi' kirjoittaa päälle eli ei pysy se arvo mikä oli 'tosi' tilanteessa vaikka ei määrittele arvoa 'epätosi' tilanteelle... palauttaa '0'-arvon tai 'epätosi'- tekstin jos jättää ';' pois


Menee 'kehäviittauksiksi' ja erroroi.
Itse tein joskus tämän itseensä viittaus sen niin että muuttaa laskenta tavaksi iteroinnin, käytin päivämäärää laskennan rajoittamiseksi ja toimii hienosti.
 

Kellarinlämmittäjä

Oppimiskäyrällä
Jos haluat korvata numerot 1 ja 10 jollain muualla lasketuilla luvuilla, niin tähän käy hyvin indirect funktio.
Tämä voisi olla sitä mitä on haussa. :) En vaan saanut toimimaan. Mitenkähän tuo kaava pitäisi oikein pitäisi kirjoittaa? Suomenkielisestä löytyy semmoinen kuin "EPÄSUORA"

Eli esim. päiväkohtaiset keskilämpötilat ovat samassa taulukossa sarakkeessa F, helmikuun osalta riveillä F2297:F2324
Tämä pitäisi saada laskemaan antamalla nuo kuukauden alku ja loppukoordinaatit, jolloin nuo samat koordinaatit kävisivät sitten moneen muuhunkin saman rivin kaavaan. Noita sarakkeita on monta ja näin saisin tuon kuukausittaisen laskenta-alueen määriteltyä antamalla vain nuo kaksi lukua, mistä mihin luvut lasketaan. Muut onkin sitten SUMMA sarakkeita.

Excel.jpg
 

jarkko_h

Vakionaama
@Kellarinlämmittäjä, ulkomuistista joten voitko testata:
=AVERAGE(INDIRECT("F"&$A$2433):INDIRECT("F"&$B$2433))
Tuo hakee solusta A2444 rivin alun ja B2433 rivin lopun. Eli tarkoittaa samaa kuin =Average(F2205:F2234), mutta rivinumerot on vain haettu solujen A2433 ja N2433 avulla. Tällä tavoin funktioiden sisälle voi asettaa rivi tai sarakkeiden arvoja funktioiden tai solujen avulla.
Suomenkielisessä excelissä funktioiden nimet keskiarvo ja epäsuora.

Mulla on esimerkiksi jokunen tilastoexceli, joka hakee ensiksi rivinumerot logitiedon päivämäärien perusteella ja sen jälkeen laskee indirectin avustamana tilastoarvot kuukausille. Näin toimien sama tilastoexcel toimii myös karkausvuosille vuodesta toiseen ja ei tarvitse tehdä mitään manuaalisesti - tiputtaa vain lähtöarvot alle.

Jossain excel versiossa epäsuoran funktion kieli vähän muuttui.
 
Viimeksi muokattu:

DrPaiN

Jäsen
Toimisko sellainen että teet sinne taulukon alkuun filtterit ja sitten käytät subtotal funktiota haluamaasi parametriä siinä


FunctionInclude hiddenIgnore hidden
AVERAGE1101
COUNT2102
COUNTA3103
MAX4104
MIN5105
PRODUCT6106
STDEV7107
STDEVP8108
SUM9109
VAR10110
VARP11111

Filtterillä kun valitset vaikka vuoden ja kuukauden niin sitten noilla on helpo laskea esim maksimi ja minimä arvon erotus
=SUBTOTAL(4;I5:I9299)-SUBTOTAL(5;I5:I9299)
 

jarkko_h

Vakionaama
Tuo subtotal on hyvä toiminto jos ei tarvitse näyttää kaikkien kuukausien tilastotuloksia kerralla. Sen avulla voi katsoa yhden kuukauden kerrallaan. Mainio ominaisuus. Jos haluaa tuon avulla kaikki kuukaudet näkyviin kerralla, joutuu käyttämään makroa (filterointi ja poimiminen soluun). Jos ei halua käyttää makroja, on mielestäni epäsuora viittaus kätevämpi.
 

jarkko_h

Vakionaama
Lookupilla voi hakea solua, mutta ei suoraan tehdä keskiarvoa.

Jos indirect ei nappaa ja haluaa laskea kuukausien keskiarvot:
-lisää kuukausisarake (kuukauden voi poimia päivämääräsolusta esim left, rigth.... tai month -toiminnolla)
-laske kuukauden lämpösumma summa sumif -funktiolla
-jaa lämpösumma kuukausien päivämäärien määrällä (päivämäärien määrän voi hakea suoraan countif -funktiolla kuukausisarakkeesta)

Excelissä on lukematon tapa tehdä sama asia. Pidän makroista, mutta vältän niiden käyttöä kuin ruttoa huonon ylläpidettävyyden vuoksi. Melkein aina löytyy tapa välttää niitä.
 
Viimeksi muokattu:

Kellarinlämmittäjä

Oppimiskäyrällä
ulkomuistista joten voitko testata:
Jee, tuo toimii !:bileet:
Kun otti vielä nuo $ merkit pois niin seuraavan kuukauden riviksi kopioitaessa se sitten haistelee siltä riviltä nuo alku- ja loppupisteet.
=KESKIARVO(EPÄSUORA("F"&$A2436):EPÄSUORA("F"&$B2436))

Tämmöisellä muuten saa kätevästi diagrammeihin tehtyä dynaamiset aina oikeat otsikot
=PYÖRISTÄ(R291;0)&" kWh vuonna 2022"

Eli ensin laskee ja kirjoittaa johonkin soluun tuon otsikon ja sitten sinne kaavioon otsikko = tuo solu minne tuon otsikon "laski" niin saa dynaamisen otsikon, kun vain riipustaa tuon tekstiosuuden mieleisekseen.
 
Viimeksi muokattu:
Back
Ylös Bottom