Ylikerroin.com
Suomen suurin vedonlyöntisivusto
Tänään on 13.12.2017, 14:14

Kaikki ajat ovat UTC + 2 tuntia



Aloita uusi ketju Vastaa viestiin  [ 3 viestiä ] 
Kirjoittaja Viesti
 Viestin otsikko: Kuntopuntari Open Officen Calckkiin?
ViestiLähetetty: 26.11.2006, 21:02 
Status: JäsenLiittynyt: 24.01.2004, 18:38Viestit: 316
Pisteitä: 0
Kassa: +0.00 yks. Palautus%: - Panosten ka: - Vetoja: 0
pjl kirjoitti:
Tälläisin pistin privana Poyelle, mutta isketään tänneki jos jollain muullakin on käyttöä. Eli tälläisen funktion kun pudottaa halutussa taulukossa Tools => Macro => Visual Basic Editor kohdasta Insert Module valinnalla, niin pitäisi toimia seuraavasti.

Koodi:
Sarake A Sarake B Sarake C Sarake D
Suomi    Ruotsi      3        0


Eli jos tiedot ovat kuten yllä (toki rivejä paljon enempi) niin halutun joukkueen tiedot saa tuolla funktiolla siten (Insert => Function, löytyy UserDefined kohdasta nimellä LaskeSumma) että HakuArvo ikkunaan kerrotaan joukkueen nimi tai solu mistä nimi löytyy. Alue kohtaan kerrotaan mistä joukkueen nimeä pitää hakea. N kysyy kuinka monta viimeistä haluat hakea ja TulosOffset kohtaan montako saraketta oikealle pitää siirtyä, jotta tulee oikeat tulokset. Eli tässä tapauksessa 2.

Eli solussa kaava näyttää tälläiseltä:

=LaskeSumma(G5;A:A;3;2)

Haetaan solussa G5 olevaa joukkuetta koko A-sarakkeesta. 3 Viimeistä peliä ja tulokset ovat 2 saraketta oikealle eli sarakkeessa C.

Käyttö on helpompaa kuin sen selittäminen :P

Function LaskeSumma(HakuArvo As Range, Alue As Range, n As Integer, TulosOffset As Integer)

Dim Summa
Dim I As Integer

Summa = 0
I = 0

For Each solu In Alue
If solu.Value = HakuArvo.Value Then
I = I + 1
If I > Application.WorksheetFunction.CountIf(Alue, HakuArvo.Value) - n Then
Summa = Summa + solu.Offset(0, TulosOffset).Value
End If
End If
Next solu

LaskeSumma = Summa
End Function


Sanokaahan viisaammat miten ton ylläolevan function(tai vastaavan)
saisi toimimaan Calcissa? Tarkoitus olisi pikku hiljaa siirtyä Microsoftin
tuotteista Linuxsin ja OpenOfficen käyttäjäksi :P.
0
Ylös
  Profiili Seuranta
 
 Viestin otsikko:
ViestiLähetetty: 27.11.2006, 12:58 
Status: JäsenLiittynyt: 14.01.2003, 09:40Viestit: 1491
Pisteitä: 33
Syystä tai toisesta OpenOfficen Calc ja Starbasic ei tykkää Rangesta parametrina (ainakaan mun tietojen perusteella), joten joudutaan kikkailemaan. Eli parametrina pitää heittää koko alue josta tiedot haetaan, siis joukkueet ja tulokset, ja ilmeisesti pelkästään sarake valinnat eivät riitä vaan pitää antaa ihan rajatkin eli tyyliin A1:D1000.

Eli nyt on rajoitukset tiedossa ja päästään itse asiaan.
Koodi:
Function LaskeSummaSB(HakuArvo, Alue, n As Integer, HakuOffset as Integer, TulosOffset As Integer) as Integer
Dim Summa
Dim i, x, y As Integer

Summa = 0
i = 0
For x = LBound(Alue) To UBound(Alue)
   If Alue(x,HakuOffset) = HakuArvo Then
      y = y + 1
   End if
Next x

For x = LBound(Alue) To UBound(Alue)
   If Alue(x,HakuOffset) = HakuArvo Then
      i = i + 1
      If i > y - n Then
         Summa = Summa + Alue(x,TulosOffset)
      End if
   End If
Next x

LaskeSummaSB = Summa
End Function

Eli kuten huomaat, parametrejä on tullut yksi lisää HakuOffset eli nyt pitää määrittää monennesta solusta haetaan.

Eli soluun tuommoista:
=LaskeSummaSB(G5;A2:D1000;2;1;3)

Haetaan solussa G5 olevaa joukkuetta alueen ensimmäisestä sarakkeesta (tuo 1), 2 Viimeistä peliä ja tulokset ovat 3 saraketta oikealle eli sarakkeessa C.

Ja koodissa joudutaan ylimääräisen kerran luuppaamaan koko roska läpi että tiedetään monta Suomen peliä löytyy, Excelissä pystyi käyttämään tuota WorksheetFunctionia kun tiedettiin alue mistä haetaan.

Tuosta kannattaa lähteä liikkeelle:
http://documentation.openoffice.org/HOW ... icXref.pdf
Ja tuolta löytyy aika paljon tietoa ja kysymyksiä:
http://www.oooforum.org/
0
Ylös
  Profiili
 
 Viestin otsikko:
ViestiLähetetty: 27.11.2006, 16:48 
Status: JäsenLiittynyt: 24.01.2004, 18:38Viestit: 316
Pisteitä: 0
Kassa: +0.00 yks. Palautus%: - Panosten ka: - Vetoja: 0
Kiitos Berrie, sain kaavat toimimaan :D.
0
Ylös
  Profiili Seuranta
 
Näytä viestit ajalta:  Järjestä  
Aloita uusi ketju Vastaa viestiin  [ 3 viestiä ] 

Kaikki ajat ovat UTC + 2 tuntia


Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa


Et voi kirjoittaa uusia viestejä
Et voi vastata viestiketjuihin
Et voi muokata omia viestejäsi
Et voi poistaa omia viestejäsi
Et voi lähettää liitetiedostoja.

Hyppää:  


Powered by phpBB © 2008 phpBB Group | Käännös, Lurttinen, www.phpbbsuomi.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye