Gå til innhold

[Løst] Få Excel til å huske verdier


Anbefalte innlegg

Har et problem, har fått en excel fil som simulerer og jeg trenger excel til å huske verdiene mellom hver iterasjon.

 

I bildet under så forandrer det jeg har merket i rødt mellom hver iterasjon, men jeg trenger å beregne gjennomsnitts verdien på de. Så hvordan får jeg enten Excel til å skrive ned alle verdiene i en kolonne eller til å beregne gjennomsnittsverdien undervis.

 

post-193753-0-64581600-1463834355.png

 

 

Legger også med filen sånn at noen guder kan hjelpe meg :love: Var vistnok ikke lov å legge .xls filen direkte med så jeg har zippet den.

post-193753-0-64581600-1463834355_thumb.png

Excel_Help_2.zip

Endret av Jod-R
Lenke til kommentar
Videoannonse
Annonse

Var ikke helt det jeg var ute etter. Jeg trenger enten å få lagt sammen alle tallene som kommer opp iløpet av simuleringen eller få skrevet hvert tall i en egen celle sånn at jeg kan legge de sammen selv etter simuleringen.

 

For eksempel på den første så vil den bli 1 eller 0 og jeg trenger å få summert de sammen sånn jeg kan dele på antall iterasjoner for å finne gjennomsnittsverdien.

Lenke til kommentar

Går det an å lage noe som kopierer hvert tall ifra G4 (altså hver iterasjon) til foreksempel J kolonnen sånn at hver nye iterasjon skriver inn tallet under det forrige. Hvis det går så skal det ikke være noe problem å greie å beregne gjennomsnitts verdien.

Lenke til kommentar

Jeg har skrevet en liten snutt som kopierer rad 3 til 8 i G-kolonnen til første ledige kolonne til høyre for hver kjøring.

 

Fant scriptet ditt og har prøvd å modifisere det sånn at det gjør slik jeg vil. Slik det er nå så virker det ikke helt ønsket. Som celle B4 viser så er det i dette tilfellet 1000 iterasjoner som kjøres og det kommer bare 1 tall ut.

 

Slik det er nå så stemmer heller ikke tallene overens med hverandre, hvis det er over null på en plass så skal det være over null begge plassene. Det som er det største problemet er at i dette tilfelle så vil jeg ha 1000 tall nedover hver kolonne. Har vist hvordan tallene skal ordne seg i bildet og legger ved det modifiserte scriptet.

 

 

Sub RunMacSimul()

pRiskAvg ("pRiskIC")

'Ta vare på verdiene

Huske

End Sub

 

Sub Huske()

 Dim Kol As Long

 Dim x As Long

 

 With Sheets("RunSimul")

 

 x = 1: While .Cells(x, 10) <> "": x = x + 1: Wend

 Kol = x

 

  .Cells(x, 10) = .Cells(4, 7)

  .Cells(x, 11) = .Cells(5, 7)

 

 End With

End Sub

 

post-193753-0-69850100-1463846641.png

post-193753-0-69850100-1463846641_thumb.png

Endret av Jod-R
Lenke til kommentar

Artig...

 

I denne versjonen kaller jeg opp Huske(0) før start. Med parameter 0 slettes tidligere verdier.

Huske kalles opp under kjøringen etter hver Iterasjon (Antall i B4) i Modul Simengine, funksjon pRiskAvg:

 
'ExcelGuru
Call Huske(i)
 
Next

 

Huske() skriver i linje Iterasjon+2 i stedet for å lete etter ledig linje - da går det kjappere.

 
Sub Huske(Iterasjon As Integer)
 
 With Sheets("RunSimul")
 
 'Tømmer I og J før første kjøring
 If Iterasjon = 0 Then
  .Range("I3:I50000").ClearContents
  .Range("J3:J50000").ClearContents
  Exit Sub
 End If
 
  .Cells(Iterasjon + 2, 9) = .Cells(4, 7)
  .Cells(Iterasjon + 2, 10) = .Cells(5, 7)
 
 End With
End Sub

 

 

Excel_Help_2-ExcelGuru.zip

  • Liker 1
Lenke til kommentar

 

Artig...

 

 

Nå begynner det å ligne på noe :D

 

Det eneste som ikke er helt bra er at verdiene ikke stemmer helt overens med hverandre. Hvis vi ser på bildet jeg la med så er det 9 ganger verdier over 0 på I-kollonen, mens det bare er 5 verdier over null på J-kolonnen. Disse tallene skal stemme overens med hverandre. De skal også komme samtidig, slik jeg har merket med grønt i bildet under. Det de tallene forteller er om Tallet er over 30 og hvor mye det er over 30, så det gir ikke så mye mening med de radene jeg har merket med rødt og gult.post-193753-0-32061200-1463911532.png

post-193753-0-32061200-1463911532_thumb.png

Endret av Jod-R
Lenke til kommentar

Fant ut av det på en måte. Antallet i I-kolonnen var rett, men ikke i J-kolonnen. Men siden jeg fant ut av hvor du hentet iterasjons telleren så greide jeg å reverse engineere (få tak i tallene jeg var interessert i) hvordan jeg skulle regne det direkte i "SimEngine".

 

Tusen takk for hjelpen :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...