Ylikerroin.com
http://www.ylikerroin.com/forum/

Excel-säätöketju
http://www.ylikerroin.com/forum/viewtopic.php?f=10&t=30963
Sivu 11/22

Kirjoittaja:  Eugene [ 12.04.2014, 12:03 ]
Viestin otsikko:  Re: Excel-säätöketju

Argh!!

tere,

nyt tökkii, ei varmasti vaikea ongelma, mutta ei vain aivot toimi(taaskaan).

eli excelin if-lause

arvotaulukko:

1 1.9 Veto1
2 2.9 Veto2
3 3.9 Veto3
4 4.9 Veto5
5 > Veto6

jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne...

Kirjoittaja:  dos [ 12.04.2014, 12:27 ]
Viestin otsikko:  Re: Excel-säätöketju

Eugene kirjoitti:
Argh!!

tere,

nyt tökkii, ei varmasti vaikea ongelma, mutta ei vain aivot toimi(taaskaan).

eli excelin if-lause

arvotaulukko:

1 1.9 Veto1
2 2.9 Veto2
3 3.9 Veto3
4 4.9 Veto5
5 > Veto6

jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne...



Kelpaisko tämä?
=IF(ISNUMBER($B5);"Veto"&ROW($B5);"")

Kirjoittaja:  Eugene [ 12.04.2014, 14:12 ]
Viestin otsikko:  Re: Excel-säätöketju

dos kirjoitti:
Eugene kirjoitti:
Argh!!

tere,

nyt tökkii, ei varmasti vaikea ongelma, mutta ei vain aivot toimi(taaskaan).

eli excelin if-lause

arvotaulukko:

1 1.9 Veto1
2 2.9 Veto2
3 3.9 Veto3
4 4.9 Veto5
5 > Veto6

jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne...



Kelpaisko tämä?
=IF(ISNUMBER($B5);"Veto"&ROW($B5);"")


Kiitos, mutta ei onnaa...

selvennän vielä tätä, koska kirjoitin huonosti: "jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne..."

tuo arvotaulukko on soluissa a b c (1 1.9 veto1) ja mulla vaikka tuo arvo 1.5 solussa g3 niin tuo veto1 pitäisi saada esim: h3

Kirjoittaja:  dos [ 12.04.2014, 15:08 ]
Viestin otsikko:  Re: Excel-säätöketju

Eugene kirjoitti:
dos kirjoitti:
Eugene kirjoitti:
Argh!!

tere,

nyt tökkii, ei varmasti vaikea ongelma, mutta ei vain aivot toimi(taaskaan).

eli excelin if-lause

arvotaulukko:

1 1.9 Veto1
2 2.9 Veto2
3 3.9 Veto3
4 4.9 Veto5
5 > Veto6

jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne...



Kelpaisko tämä?
=IF(ISNUMBER($B5);"Veto"&ROW($B5);"")


Kiitos, mutta ei onnaa...

selvennän vielä tätä, koska kirjoitin huonosti: "jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne..."

tuo arvotaulukko on soluissa a b c (1 1.9 veto1) ja mulla vaikka tuo arvo 1.5 solussa g3 niin tuo veto1 pitäisi saada esim: h3


H3-soluun laitat:
=IF(ISNUMBER($G3);"Veto"&(ROW($G3)-2);"")
Ja sitten voit vetää tuosta solusta alaspäin niin automaattisesti täyttää seuraaviin soluihin G4, G5 yms.

Vai halusitko saada sen veto1 kopioitua noista c-soluista?
Silloin:
=IF(ISNUMBER($G3);$C3;"")

Tai voisitko kertoa tarkemmin, jos tämäkään ei auta, että mikä mättää?

Kirjoittaja:  S.Mäenala [ 12.04.2014, 15:52 ]
Viestin otsikko:  Re: Excel-säätöketju

Eugene kirjoitti:
Argh!!

tere,

nyt tökkii, ei varmasti vaikea ongelma, mutta ei vain aivot toimi(taaskaan).

eli excelin if-lause

arvotaulukko:

1 1.9 Veto1
2 2.9 Veto2
3 3.9 Veto3
4 4.9 Veto5
5 > Veto6

jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne...


Olettaen että tuo taulukko on soluissa A1:C5, valitsinarvo (1.5) solussa G3, kaava (solussa H3) on:
=OFFSET($A$1;MATCH(G3;$A$1:$A$5;1)-1;2)

(Suomi: OFFSET = SIIRTYMÄ; MATCH = VASTINE)

Kirjoittaja:  Eugene [ 14.04.2014, 11:47 ]
Viestin otsikko:  Re: Excel-säätöketju

S.Mäenala kirjoitti:
Eugene kirjoitti:
Argh!!

tere,

nyt tökkii, ei varmasti vaikea ongelma, mutta ei vain aivot toimi(taaskaan).

eli excelin if-lause

arvotaulukko:

1 1.9 Veto1
2 2.9 Veto2
3 3.9 Veto3
4 4.9 Veto5
5 > Veto6

jos joku luku on solussa vaikka 1.5 niin tulostaisi arvon Veto1 jne...


Olettaen että tuo taulukko on soluissa A1:C5, valitsinarvo (1.5) solussa G3, kaava (solussa H3) on:
=OFFSET($A$1;MATCH(G3;$A$1:$A$5;1)-1;2)

(Suomi: OFFSET = SIIRTYMÄ; MATCH = VASTINE)


Kiitos, toimii kuten ajattelinkin! :)

Kirjoittaja:  h [ 18.05.2014, 04:24 ]
Viestin otsikko:  Toisen asteen yhtälön kertoimet

Voiko Excelistä saada johonkin taulukkomuotoiseen dataan sovitetun toisen asteen yhtälön ax2 + bx + c kertoimet a, b ja c ulos lukuina samalla tavoin kuin esimerkiksi suoran kulmakertoimen funktiolla INDEKSI(LINREGR(B1:B4;A1:A4);1)?

Kirjoittaja:  lammpa-1 v2.0 [ 18.05.2014, 09:16 ]
Viestin otsikko:  Re: Toisen asteen yhtälön kertoimet

h kirjoitti:
Voiko Excelistä saada johonkin taulukkomuotoiseen dataan sovitetun toisen asteen yhtälön ax2 + bx + c kertoimet a, b ja c ulos lukuina samalla tavoin kuin esimerkiksi suoran kulmakertoimen funktiolla INDEKSI(LINREGR(B1:B4;A1:A4);1)?

Manuaalisesti ainakin piirtämällä datasta käyrän ja valitsemalla kuvaan näkymään käyrän yhtälö. Mutta tarkoittanet tuollaista funktiopohjaista ratkaisua... siitä en tiedä.

Kirjoittaja:  S.Mäenala [ 18.05.2014, 11:38 ]
Viestin otsikko:  Re: Toisen asteen yhtälön kertoimet

h kirjoitti:
Voiko Excelistä saada johonkin taulukkomuotoiseen dataan sovitetun toisen asteen yhtälön ax2 + bx + c kertoimet a, b ja c ulos lukuina samalla tavoin kuin esimerkiksi suoran kulmakertoimen funktiolla INDEKSI(LINREGR(B1:B4;A1:A4);1)?

lammpan systeemilläkin sen saa mutta joutuu kikkailemaan.

Helpommin ne saa seuraavalla tavalla:

Kuva

Oletetaan että Sinulla on nuo arvot kuvan mukaisesti sarakkeissa A2 - B10.

1. kirjoita soluun A12 kaava: =LINEST(B2:B10;A2:A10^COLUMN($A:$B))
2. maalaa solut A12 - C12
3. paina F2
4. näppäile CTRL-SHIFT-ENTER

suomeksi: LINEST = LINREGR, COLUMN = SARAKE

Laskin tuon datataulukon kaavalla y = 2x² + 3x +1, joten ei ihme että saatiin tuon näköiset kertoimet...
Samaa menetelmää voi käyttää myös 3. asteen polynomiin.

Kirjoittaja:  h [ 18.05.2014, 21:47 ]
Viestin otsikko:  Re: Toisen asteen yhtälön kertoimet

S.Mäenala kirjoitti:
Oletetaan että Sinulla on nuo arvot kuvan mukaisesti sarakkeissa A2 - B10.

1. kirjoita soluun A12 kaava: =LINEST(B2:B10;A2:A10^COLUMN($A:$B))
2. maalaa solut A12 - C12
3. paina F2
4. näppäile CTRL-SHIFT-ENTER

Minulla ei ole data taulukon alussa, vaan arvosarjat sattuvat nyt olemaan soluissa V59:V64 ja P59:P64 (eli eivät edes rinnakkaisissa sarakkeissa). Neuvosi toimii silti mainiosti eli saan nyt suoraan vaikkapa toisen asteen termin kertoimen kaavalla: =INDEKSI(LINREGR(V59:V64;P59:P64^SARAKE($A:$B));1)

Jäi kuitenkin askarruttamaan, että kun tuossa kaavassa on osio ($A:$B), niin mitä sillä on tekoa tässä tapauksessa? Painamalla kaavasolussa F2, alueviittaus näyttää kyllä myös sarakkeet A:n ja B:n, mutta vaikka siellä on jotain satunnaisia muita lukuja, eivät ne näyttäsi vaikuttavan ainakaan tuloksiin (tulee siis samat kertoimet kuin kuvaajan kautta kaavat näkyviin -toiminnolla). Vai olisiko tässä tapauksessa kuitenkin syytä korjata myös kaavan loppuosaa jotenkin huomioimaan tuon eri alueen?

---

Entä jos kuvaajan haluaa pakottaa kulkemaan origon kautta, vaikka se ei datan mukaan ihan siitä menisi? Excelissä on tällainen optio, mutta voiko kertoimet saada silloin vastaavalla tavalla numeerisesti ulos?

---

Ja vielä: Kuinka tuo analogia kolmannen asteen yhtälöiden kertoimien saamiseksi toimii?

Kirjoittaja:  S.Mäenala [ 19.05.2014, 02:14 ]
Viestin otsikko:  Re: Toisen asteen yhtälön kertoimet

h kirjoitti:
...
Minulla ei ole data taulukon alussa, vaan arvosarjat sattuvat nyt olemaan soluissa V59:V64 ja P59:P64 (eli eivät edes rinnakkaisissa sarakkeissa). Neuvosi toimii silti mainiosti eli saan nyt suoraan vaikkapa toisen asteen termin kertoimen kaavalla: =INDEKSI(LINREGR(V59:V64;P59:P64^SARAKE($A:$B));1)

Jäi kuitenkin askarruttamaan, että kun tuossa kaavassa on osio ($A:$B), niin mitä sillä on tekoa tässä tapauksessa? Painamalla kaavasolussa F2, alueviittaus näyttää kyllä myös sarakkeet A:n ja B:n, mutta vaikka siellä on jotain satunnaisia muita lukuja, eivät ne näyttäsi vaikuttavan ainakaan tuloksiin (tulee siis samat kertoimet kuin kuvaajan kautta kaavat näkyviin -toiminnolla). Vai olisiko tässä tapauksessa kuitenkin syytä korjata myös kaavan loppuosaa jotenkin huomioimaan tuon eri alueen?
---
Entä jos kuvaajan haluaa pakottaa kulkemaan origon kautta, vaikka se ei datan mukaan ihan siitä menisi? Excelissä on tällainen optio, mutta voiko kertoimet saada silloin vastaavalla tavalla numeerisesti ulos?
---
Ja vielä: Kuinka tuo analogia kolmannen asteen yhtälöiden kertoimien saamiseksi toimii?

Hyvä juttu h!
Vektorilaskennassa vektorin paikalla ei pääsääntöisesti tosiaan ole merkitystä, ainoastaan sen koolla ja muodolla.
Useamman muuttujan funktioissa x(i) -vektorien pitää ymmärtääkseni kuitenkin muodostaa kompakti vektorialue.

Vektorikaavoissa funktiolausekkeen SARAKE($A:$B) tehtävä on vain tuottaa lukumatriisi {1,2}. Kaavoissa lausekkeen voi korvata suoraan tällä matriisilla.

Regressiokäyrän voi pakottaa origoon merkitsemällä LINREGR -funktion 3. argomentin FALSE:ksi (0), mutta se ymmärtääkseni rikkoo regressiolaskennassa tämän polynomi-muodon, joka tavallaan on vain erikoistapaus. Muuttujan kertoimet määrittyvät oudosti ja vakioksi saadaan #N/A.

Analogia 3. asteen polynomeilla on kaavoissa muuten sama paitsi että matriisi {1,2} (tai funktiomerkintä SARAKE($A:$B)) on korvattava matriisilla {1,2,3} (tai vastaavasti funktiomerkinnällä SARAKE($A:$C)).

Kirjoittaja:  pjl [ 13.06.2014, 14:51 ]
Viestin otsikko:  Re: Excel-säätöketju

Tää on varmaan täälläkin jo aiemmin selitetty, mutta en pikalukaisulla löytänyt.

Jos vaikka on solussa C6 "1", niin Excel kertoisi minulle, mitä on vaikkapa kaksi vasemmalle eli solussa A6 tai kolme solua ylempänä eli solussa C3. Joku simppeliratkaisu tähän muistaakseni oli, mutta ei muista eikä osaa.

Kirjoittaja:  zot [ 13.06.2014, 15:17 ]
Viestin otsikko:  Re: Excel-säätöketju

pjl kirjoitti:
Tää on varmaan täälläkin jo aiemmin selitetty, mutta en pikalukaisulla löytänyt.

Jos vaikka on solussa C6 "1", niin Excel kertoisi minulle, mitä on vaikkapa kaksi vasemmalle eli solussa A6 tai kolme solua ylempänä eli solussa C3. Joku simppeliratkaisu tähän muistaakseni oli, mutta ei muista eikä osaa.


Todnäk tarvitset offset funktiota
OFFSET(reference, rows, cols, [height], [width])
(height ja width voidaan myös käyttää määrittelemään tietty alue mutta oletusarvona on 1,1 eli viittaus tiettyyn soluun)

=OFFSET(C6,-3,0) palauttaa arvon joka on 3 riviä C6:sta ylöspäin
=OFFSET(C6,0,-2) palauttaa arvon joka on 2 saraketta C6 vasemmalla puolella

Toivottavasti tämä oli se mitä etsit

Kirjoittaja:  pjl [ 13.06.2014, 16:47 ]
Viestin otsikko:  Re: Excel-säätöketju

Aloitan Excel-opiskelun.... Nyt kun tuo offset on opittu, niin mites sitten jos tuo haluamassa solussani oleva tulos onkin jonkun kaavan tulos. Eli solussa C6 haetaan vaikka maksimiarvo sarakkeesta E. Suurin arvo on esim. solussa E128, niin miten saisin tietooni mitä on vaikkapa 4 solua ylempänä tai 2 saraketta vasemmalla.

Kirjoittaja:  lammpa-1 v2.0 [ 13.06.2014, 17:53 ]
Viestin otsikko:  Re: Excel-säätöketju

MAX-funktiolla haetaan maksimi arvo, joten (ilman testausta) saattaisi mennä tähän tyyliin:

=OFFSET(MAX(E:E),-3,0)

tämän pitäisi ehkä parhaassa tapauksessa palauttaa sarakkeen E maksimiarvosta 3 solua ylempänä oleva arvo.

Kirjoittaja:  zot [ 13.06.2014, 22:02 ]
Viestin otsikko:  Re: Excel-säätöketju

pjl kirjoitti:
Aloitan Excel-opiskelun.... Nyt kun tuo offset on opittu, niin mites sitten jos tuo haluamassa solussani oleva tulos onkin jonkun kaavan tulos. Eli solussa C6 haetaan vaikka maksimiarvo sarakkeesta E. Suurin arvo on esim. solussa E128, niin miten saisin tietooni mitä on vaikkapa 4 solua ylempänä tai 2 saraketta vasemmalla.



Luulen että tähän saa kieroiltua Match, Offset ja Indirect funktioilla ratkaisun. Aivan varmasti muitakin tapoja on.

Kuvitellaan että meillä on taulukko A9...C14 alueella

Koodi:
      A          B            C
9     Maa        Tehdyt       Päästetyt
10    Saksa      2.8          1.0
11    Kamerun    0.9          3.3
12    Brasilia   3.3          1.1
13    Argentiina 2.2          1.2
14    Suomi      0.5          4.2


Ja meitä kiinnostaa mikä on parhaan maalintekijäjoukkeen päästetyt maalit

Tämä funktio palauttaa monennellako rivillä max arvo on (sarakkeessa B)
=MATCH(MAX(B:B),B:B,0))

Toi viimeisen parametrin toiminta kannattaa selvittää siten että se ei palauta väärää arvioita siinä tapauksessa että listalla on enemmän kuin kaksi samaa maksimiarvoa. 0 palauttaa listan ensimmäisen maksimiarvon. Tämä siis palauttaa rivinumeron jolla on maksimiarvo (=12)

Kun tämä liitetään Indirect funktioon niin tämä palauttaa sen osoitteen jolla maksimiarvo löytyi.
=INDIRECT("B"&MATCH(MAX(B:B),B:B,0)
...Ts funktio antaa arvon "B12"

Lopulta... aiemman offset funktion avulla lasketaan siis B sarakkeen maksimiarvoa vastaavalla rivillä esim viereisen sarakkeen arvo eli siirtymä B12 soluun nähden (tai missä toi max arvo sattuu löytymään)

=OFFSET(INDIRECT("B"&MATCH(MAX(B:B),B:B,0)),0,1)
Tämä siis palauttaa maksimiarvosta yhden sarakkeen verran oikealta olevan arvon eli tässä tapauksessa Brasilian päästetyt maalit "1.1"

Kokeile ainakin jos tuo boldattu litania sopii sun laskentaasi ja vaihda noista viimeisiä 0,1 lukuja sen mukaan mistä haluat poimia noita lukujasi maksimiarvoon nähden.

Kirjoittaja:  S.Mäenala [ 18.06.2014, 18:48 ]
Viestin otsikko:  Re: Työkaluja vedonlyöntiin

Jarcon kirjoitti:
...
Tartteisin exceliin vähän ohjeita miten saan poimittua kertoimia kohteeseen x, bookkerilta y. Joko suoraan bookkerin sivuilta tai esim. oddscheckeristä. Halauisin tehdä omille muutamille kohteille ja arvioille automaattihaun, jottei tarviis aina tarkistella netistä vaan excel päivittäisi nappia painamalla. Onnistuuko mitenkään järkevästi? Sillä Excelin perus netistä poiminalla ei tule, koska ei ole sellaisessa muodossa sivut ilmeisestikään. Pari tuntia netistä koittanut etsiä valmiita työkaluja / ohjeita tekoon, mutta ei ole vielä tärpännyt. Oma ohjeilmointikokemus on olematon ja 10v takaa, joten nollista pitäis lähtee mikäli itse yrittää.

Vähän oudossa ketjussa tämä kysymys..

Joitakin huomioita:
- oddschecker.com:n listoilta näyttäisi puuttuvan suuri osa suomalaisittain merkittävimmistä bookkereista (Pinnaclesports, Sbobet, Veikkaus, Mar..)

- jotta excel voisi nappia painamalla päivittää kertoimet, sen pitää itsenäisesti pystyä muodostamaan tietojen hakuosoite tarkasti.
oddschecker'issä sitä varten tarvitaan tieto kilpailusta/liigasta/turnauksesta, ottelukohteesta ja haluttu pelimuoto. Lisäksi excel'ille on kerrottava minkä bookkerien kertoimet halutaan.
Mistä nämä tiedot saadaan?

- kun yllämainitut tiedot excel'iin syöttää niin ainakin täällä "Excelin perus netistä poiminalla tulee" ts. Data => From Web -toiminnolla kertoimet kyllä kauniisti tupsahtavat excel'iin.

Lopuksi haettuja tietoja yleensä vielä joudutaan vähän stilisoimaan.

Vähän tarkemmilla tiedoilla tälläinen nappi on helposti toteutettavissa. :peukku:

Kirjoittaja:  Jarcon [ 18.06.2014, 20:10 ]
Viestin otsikko:  Re: Työkaluja vedonlyöntiin

S.Mäenala kirjoitti:
Joitakin huomioita:
- oddschecker.com:n listoilta näyttäisi puuttuvan suuri osa suomalaisittain merkittävimmistä bookkereista (Pinnaclesports, Sbobet, Veikkaus, Mar..)

- jotta excel voisi nappia painamalla päivittää kertoimet, sen pitää itsenäisesti pystyä muodostamaan tietojen hakuosoite tarkasti.
oddschecker'issä sitä varten tarvitaan tieto kilpailusta/liigasta/turnauksesta, ottelukohteesta ja haluttu pelimuoto. Lisäksi excel'ille on kerrottava minkä bookkerien kertoimet halutaan.
Mistä nämä tiedot saadaan?

- kun yllämainitut tiedot excel'iin syöttää niin ainakin täällä "Excelin perus netistä poiminalla tulee" ts. Data => From Web -toiminnolla kertoimet kyllä kauniisti tupsahtavat excel'iin.

Lopuksi haettuja tietoja yleensä vielä joudutaan vähän stilisoimaan.

Vähän tarkemmilla tiedoilla tälläinen nappi on helposti toteutettavissa. :peukku:


Juu puuttuu toki jotain bookkereita, mutta ei haittaa.

Millä tavalla noi tiedot syötetään exceliin? Koodipuolelta varmaan onnistuu, mutta 0-osaaminen sinne suuntaan. Mikä excel versio sulla on? Itsellä 2007 ja tuntuu käyttävän web-haussa jotain iänikuista selainta, pitäis koittaa se ainakin saada jotenkin päivitettyä.

Turhauttaa kun "on helppoo" mut ite tuskailee tuntitolkulla :D

Kirjoittaja:  S.Mäenala [ 18.06.2014, 21:42 ]
Viestin otsikko:  Re: Työkaluja vedonlyöntiin

Jarcon kirjoitti:
..
Juu puuttuu toki jotain bookkereita, mutta ei haittaa.

Millä tavalla noi tiedot syötetään exceliin? Koodipuolelta varmaan onnistuu, mutta 0-osaaminen sinne suuntaan. Mikä excel versio sulla on? Itsellä 2007 ja tuntuu käyttävän web-haussa jotain iänikuista selainta, pitäis koittaa se ainakin saada jotenkin päivitettyä.

Turhauttaa kun "on helppoo" mut ite tuskailee tuntitolkulla :D

"On helppoo" tietysti vain jos osaa ihan pikkuisen koodata..

Vähän huono aika juuri nyt Jarcon. Pari muutakin työtä meneillään eikä vuodenaikakaan oikein otollinen. Paras tapa viettää Juhannusta on tietenkin kirjoittaa vba-koodia! Mutta katsotaan saisinko Sinulle lähipäivinä jonkin perusmallin värkättyä.
Taas voisi toivoa että joku muukin näihin osallistuisi jos taitoa löytyy.

Itselläni on 2010 versio. Excel käyttää nettihauissa oletusselainta, muistaakseni näin oli myös 2007 versiossa. Vba:n selainapplikaatiot tosin kirjoitetaan lähes aina IE:lle.

Kirjoittaja:  Jarcon [ 22.06.2014, 14:17 ]
Viestin otsikko:  Re: Työkaluja vedonlyöntiin

S.Mäenala kirjoitti:
"On helppoo" tietysti vain jos osaa ihan pikkuisen koodata..

Vähän huono aika juuri nyt Jarcon. Pari muutakin työtä meneillään eikä vuodenaikakaan oikein otollinen. Paras tapa viettää Juhannusta on tietenkin kirjoittaa vba-koodia! Mutta katsotaan saisinko Sinulle lähipäivinä jonkin perusmallin värkättyä.
Taas voisi toivoa että joku muukin näihin osallistuisi jos taitoa löytyy.

Itselläni on 2010 versio. Excel käyttää nettihauissa oletusselainta, muistaakseni näin oli myös 2007 versiossa. Vba:n selainapplikaatiot tosin kirjoitetaan lähes aina IE:lle.


Jos vaan joku jaksaisi auttaa alkuun niin olisin tosi kiitollinen :) luulen, että opin kyllä solveltamaan siitä eteenpäin sit.

Koitin läpppärillä tota web-hakua. Toimi paremmin kun on uudemmat versiot, mutta eipä se paljoo toki auttanu ku semmosta sekasikiöö tuli eikä sitä kai millään tavalla automatisoitua saa ilman koodia.

Kirjoittaja:  S.Mäenala [ 23.06.2014, 21:42 ]
Viestin otsikko:  Re: Työkaluja vedonlyöntiin

Jarcon kirjoitti:
...Jos vaan joku jaksaisi auttaa alkuun niin olisin tosi kiitollinen :) luulen, että opin kyllä solveltamaan siitä eteenpäin sit.

Koitin läpppärillä tota web-hakua. Toimi paremmin kun on uudemmat versiot, mutta eipä se paljoo toki auttanu ku semmosta sekasikiöö tuli eikä sitä kai millään tavalla automatisoitua saa ilman koodia.

Kyllähän tässäkin ne elämän perussäännöt pätevät, hakukoodin kirjoittaminen on helppoa kun osaa mutta mahdotonta jos ei osaa...

Visual Basic'in suhteen tilanne on sikäli lohdullinen että se on kehitettykin helposti opittavaksi jokamiehen ohjelmointikieleksi.
Sinunlaisellesi käyttäjälle, jolla siis on vähän 'vanhaa pohjaa', kielen perusteiden oppimisen pitäisi olla jokseenkin helppoa.
Itse olen VBA:n vähäiset taitoni hankkinut nimenomaan itseopiskelulla. Netti on siinä puuhassa erinomainen tietolähde.

Tässä postitettu tiedosto on tarkoitettu malliksi opiskelijalle. Se on toteutettu ilman mitään erikoisrutiineja pelkästään kielen peruskomentoja käyttäen. Tiedoston jokainen VBA-komento on kommentoitu lyhyesti, jotta sen merkitys kävisi helposti selväksi.

Itse datan hakeminen on hyvin yksinkertainen toimenpide:
- kirjoita hakusivun internet-osoite
- hae data

Oddschecker'in tapauksessa data on nettisivulla jo valmiiksi sijoitettu taulukkoon ja siihen voidaan hakukomennossa suoraan viitata
Lainaa:
.WebTables = "1"

Suurin osa koodista on sitten haetun datan muotoilemista. Oddschecker'in tapauksessa sivusto lähettää kertoimet fractional -muodossa ja ne on siis muunnettava desimaalikertoimiksi. Tässä esimerkissä muuntaminen on toteutettu excel-kaavoilla, jotka VBA-koodilla kirjoitetaan työkirjaan.
Koodissa käytettyjen excel-kaavojen kirjoittaminen onkin tiedostossa luultavasti se vaikein osa.
Seuraavassa siitä lyhyt esimerkki:
Lainaa:
excel-kaava

=IF(IFERROR(FIND("/";Dxxx);0)=0;1+Dxxx;VALUE(LEFT(Dxxx;FIND("/";Dxxx)-1))/VALUE(RIGHT(Dxxx;LEN(Dxxx)-FIND("/";Dxxx)))+1)

näyttää VBA-koodissa tältä:

Cells(lastrow + 2, 4).Formula = "=IF(IFERROR(FIND(""/"",D" & lastrow - 2 & "),0)=0,1+D" & lastrow - 2 & ",VALUE(LEFT(D" & lastrow - 2 & ",FIND(""/"",D" & lastrow - 2 & ")-1))/VALUE(RIGHT(D" & lastrow - 2 & ",LEN(D" & lastrow - 2 & ")-FIND(""/"",D" & lastrow - 2 & ")))+1)"

Kaavassa oleva xxx tarkoittaa vain jotakin lukua.
Kaava kirjoitetaan VBA:ssa vähän toisella tavoin. Olennaisin ero tulee siitä että VBA-kaavassa voidaan käyttää muuttujia (tässä lastrow on muuttuja).
Näistä asioista voisi ehkä syksypuolella järjestää jonkinmuotoisen lyhyen peruskurssin jos siihen mienkiintoa löytyy.

Olen tarkoituksella (kiireessäkin) pitänyt esimerkin mahdollisimman yksinkertaisena, jotta se on helpommin aloittelijan ymmärrettävissä.
Koodi kattaa vain World Cup otteluiden 1X2 (winner) -kertoimet.

Mallitiedosto on ladattavissa täältä:
https://drive.google.com/file/d/0B5MepY ... sp=sharing

Ladattava rar-pakkaus sisältää tiedoston "oddschecker.xlsm".
Makrotiedostona se voidaan avata vain sellaisissa kansioissa, jossa makrojen käsittely on sallittu.
(katso Options - Trust Center - Trusted Locations)

Toivottavasti tämä auttaa vähän alkuun... :peukku:

Edit:
Tiedostoa käytettäessä ottelu valitaan klikkaamalla jotakin solua samalla rivillä ja sitten "Get odds".

Kirjoittaja:  Jarcon [ 27.06.2014, 23:09 ]
Viestin otsikko:  Re: Excel-säätöketju

Oikein hyvä pohja. Selkät kommentit, niin jopa mä tajusin jotain kun hetken aikaa ihmetteli. Suurin osa toki täyttä hepreaa, mutta leikkaa + liimaa / testaaminen saattaa auttaa.

Pari kysymystä toki tuli heti. Testasin tota, niin tiedot pystyy tyhjentää ja kohteet hakemaan. Mutta kun hain kertoimia uudelleen niin koko taulukko meni valkoiseksi. Johtuu varmaan, koska tiedot vaihtunut tms.

Koitin ettiä koodista, että missä se määrittää noi lajin / sarjan, jotta voisin koittaa yrittää editoida niitä sopivaksi omia tarpeitani ajatellen. Sori jos tyhmä kysymys :oops:

Kiitos vielä kovasti!

ps. Jos kiinnostaa pieni sivuprojekti niin pistä privaan viestiä :)

EDIT: No nyt tajusin mistä se hakee ne tiedot kohdeista. Ei päässyt soluja muuttamaan, koitin kopioida uudet solut tilalle, mutta ei ainakaan heti toiminut :)

Kirjoittaja:  Van Bommel [ 16.08.2014, 22:19 ]
Viestin otsikko:  Re: Excel-säätöketju

Basileios kirjoitti:

1. Jos kerroin olisi A1 ja panos B1 ja C1 sarakkeeseen tulisi tuo W/L/P/HW/HL niin itselläni on tälläinen kaava
=JOS(C1="W";A1*B1;JOS(C1="P";B1;JOS(C1="HW";(A1-1)*B1/2+B1;JOS(C1="HL";B1/2;0))))



Täytyy palata vanhaan ja kysyä, että miksi nyt saan tällä rivillä toimiin vaan P/L/HL - vaihtoehdot? Eli W ja HW antaa soluun #ARVO! - tekstin.

Kirjoittaja:  Teppor [ 19.08.2014, 22:08 ]
Viestin otsikko:  Re: Excel-säätöketju

Millaisella koodinpätkällä saan VBA:han sellaisen komennon että kun haen Excelin omalla tietojen haulla netistä dataa, niin se poistaisi kaiken turhan datan sen varsinaisen kiinnostavan tiedon päältä? Ts. tietoja haettaessa sen taulukon jonka haluan, päällä voi olla vaihtuva määrä eri rivejä jne. joten en saa kaavojani toimimaan suoraan päivityksen jälkeen. Olen koettanut nauhoittaa makroa jossa käytän ctrl+f -toimintoa löytääkseni taulukon otsikon ja sitten olen koettanut poistaa päältä kaiken A1-soluun saakka mutta ei toimi jos rivimäärä muuttuu...

Kirjoittaja:  S.Mäenala [ 19.08.2014, 23:33 ]
Viestin otsikko:  Re: Excel-säätöketju

Teppor kirjoitti:
Millaisella koodinpätkällä saan VBA:han sellaisen komennon että kun haen Excelin omalla tietojen haulla netistä dataa, niin se poistaisi kaiken turhan datan sen varsinaisen kiinnostavan tiedon päältä? Ts. tietoja haettaessa sen taulukon jonka haluan, päällä voi olla vaihtuva määrä eri rivejä jne. joten en saa kaavojani toimimaan suoraan päivityksen jälkeen. Olen koettanut nauhoittaa makroa jossa käytän ctrl+f -toimintoa löytääkseni taulukon otsikon ja sitten olen koettanut poistaa päältä kaiken A1-soluun saakka mutta ei toimi jos rivimäärä muuttuu...

Jos VBA:ssa QueryTables-objektilla hakee taulukkodataa niin ei sieltä kyllä pitäisi tulla muuta kuin se taulukko.

Jos käytät jotain muuta menetelmää ja ylimääräistä tavaraa tulee epämääräinen määrä ennen haluttua tietoa, joudutaan sitten etsiskelemään jotain avainsanaa tai tagia, josta data-alue voidaan tunnistaa.

Olisi vähän helpompi auttaa jos antaisit vähän tarkempia tietoja, esim. sivusto ja data, jonka tarvitset.

Kun esim. osoitteesta URLValue="http://www.betexplorer.com/soccer/england/premier-league/results/"
haetaan taulukon #1 data seuraavalla koodilla:

Koodi:
With ActiveSheet.QueryTables.Add(Connection:="URL;" & URLValue, Destination:=Range("$A$2"))
    .Name = "TEMP1"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlOverwriteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = False
    .RefreshPeriod = 0
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingNone
    .WebTables = "1"
    .WebPreFormattedTextToColumns = False
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = True
    .WebDisableRedirections = True
    .Refresh BackgroundQuery:=False
End With

, saadaan tämännäköinen tuotos:

Kuva

Sivu 11/22 Kaikki ajat ovat UTC + 3 tuntia
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/