Avatar billede Penelopee Nybegynder
07. februar 2013 - 09:24 Der er 10 kommentarer

Find gennemsnit af et antal genberegnede tal

I celle A1 har jeg formlen =slump()

Hvordan får jeg i celle A2 gennemsnittet af fx 10 beregninger/gentagelser (f9)

Tror det kræver noget VBA-kode, men da jeg ikke kan kode VBA fra bunden, søger jeg noget kode, der kan klare ovenstående problem.

Mvh.
Avatar billede finb Ekspert
07. februar 2013 - 09:46 #1
Kunne du ikke have 10 x slump
i celle a1:a10 ?
Avatar billede Dan Elgaard Ekspert
07. februar 2013 - 09:52 #2
Kan du ikke bare, i celle A2, skrive:

=(SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP()+SLUMP())/10

...altså, =SLUMP() ti gange lagt sammen, og så dernæst delt med 10.
Avatar billede Penelopee Nybegynder
07. februar 2013 - 09:59 #3
Mit behov er egenligt et gennemsnit af et meget stort antal gentagelser (+100.000). I spørgsmålet var det blot opstillet forsimplet. Jeg leder derfor efter en mere "intelligent" løsning end blot at gentage slumpfunktionen i forskellige celler.
Avatar billede Dan Elgaard Ekspert
07. februar 2013 - 10:08 #4
Sub Gennemsnitlig_Slump()

' * ' Initialize
      Const Gentagelser As Long = 100000

      Const Celle_SlumpTal As String = "A1"
      Const Celle_Resultat As String = "A2"


' * ' Define variable
      Dim Counter As Long


' * ' Perform calculation
      Range(Celle_Resultat).Value = 0
      Range(Celle_SlumpTal).FormulaR1C1 = "=RAND()"

      For Counter = 1 To Gentagelser
            Calculate
            Range(Celle_Resultat).Value = Range(Celle_Resultat).Value + Range(Celle_SlumpTal).Value
      Next

      Range(Celle_Resultat).Value = Range(Celle_Resultat).Value / Gentagelser


End Sub
Avatar billede Slettet bruger
07. februar 2013 - 10:28 #5
For dem der foretrækker formler hvor VBA ikke er påkrævet:

=MIDDEL(RÆKKE(INDIREKTE("1:100000"))*SLUMP())

Matrixformel, så husk at holde Ctrl og shift nede før du trykker på Enter.
Avatar billede Slettet bruger
07. februar 2013 - 10:32 #6
Undskyld, det var en svipser.
Glem venligst #5

Hans
Avatar billede Dan Elgaard Ekspert
07. februar 2013 - 10:35 #7
Formel løsningen har dog den begrænsning, at man ikke kan lave det flere gange, end der er rækker i regnearket (i mit tilfælde 65.536, da jeg benytter Excel 2003).

Har man brug for f.eks. 10.000.000 gentagelser, så kan formlen ikke benyttes, da Excel p.t. kun har godt 1.000.000 rækker.

VBA-løsningen giver nærmest ubegrænsede muligheder :-)
Avatar billede Penelopee Nybegynder
07. februar 2013 - 13:25 #8
Hej Pistolprinsen

Mange tak! Det virker, men det lykkes ikke for mig at justere koden, til mit næste udfordring. Nemlig, at tallet i A1 egentlig ikke er en decideret slumpfunktion, men blot er en funktion af bl.a. slump? A1 er i mit ark er således en andel (B1/C1), hvor B1 og C1 igen er afledt af en række formler, der bl.a. indeholder slump. Kan kodes justeres til det?

Mvh.
Penelopee
Avatar billede Dan Elgaard Ekspert
07. februar 2013 - 15:26 #9
Jamen, hvis du smider den helt præcise formel, du vil have stående i celle A1, så er den let at lave i VBA-koden :-)
Avatar billede Penelopee Nybegynder
07. februar 2013 - 16:01 #10
Konkret skal der evalueres to binære serier op mod hinanden. Dvs. i B1 bliver resultatet 0 eller 1 (igen ud fra en masse beregninger) og fx i C1 også 0 eller 1. A1 skal så vise, hvilken serie der scorer højest, fx ved at dividere summen af den ene serie med summen af den anden serie. Kan det lade sig gøre? (Og mange tak for hælpen).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester