Random-loop exceliin.

Anonyymi

Pystyykö excelin random arvoille tekemään loopin? Esim. Soluun A1 randomluku ja soluun b1 laskuri joka summaisi yhteen a1 satunnaisluvut. Tämän lisäksi c1 oleva luku määrittäisi monesti randomluku ajettaisi.

Esim. jos c1=100;

a1 randomluku vaihtuisi 100kertaa

Ja b1 laskisi nämä kaikki 100 randomlukua yhteen.

8

339

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Rakenna itsellesi yksinkertainen esimerkki logiikan ymmärtämiseksi:

      Avaa Exceliin uusi työkirja ja Tallenna nimellä:
      Tiedoston nimi: summaaluuppi
      Muoto: Excel-työkirja (makrot käytössä)

      --------------------------

      Oletetaan esimerkissä että halutaan ajaa luuppi 10 kertaa:

      Kirjoita soluun A3:
      10

      --------------------------

      Oletetaan esimerkissä että satunnaisluku on aina välillä 1 - 10.

      --------------------------

      Avaa VBA-moduuli näppäinyhdistelmällä Alt F11.

      Tuplaklikkaa vasemmassa ikkunassa: TämäTyökirja

      --------------------------

      Kopioi alla oleva koodi oikealle avautuneeseen ikkunaan:

      Sub SummaaLuuppi()
      Dim i As Integer
      Dim kertaa As Integer
      Range("A2").Select
      Selection.ClearContents
      Range("A3").Select
      kertaa = ActiveCell.Value
      Range("A1").Select
      ActiveCell.FormulaR1C1 = "=RANDBETWEEN(1,10)"
      For i = 1 To kertaa
      Range("A1").Select
      Selection.Copy
      Range("A2").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
      :=False, Transpose:=False
      Next i
      Range("A1").Select
      Selection.ClearContents
      Range("A2").Select
      End Sub

      --------------------------

      Sulje VBA-moduuli valitsemalla File / Close and Return to Microsoft Excel.

      --------------------------

      Tallenna luomaasi tiedostoon (summaaluuppi.xlsm) tekemäsi muutokset.

      --------------------------

      Aja summaaluuppi-makro valitsemalla Kehitystyokalut / Makrot / TämäTyökirja.SummaaLuuppi / Suorita

      --------------------------

      Sarakkeessa A2 on makron suorittamisen jälkeen summa kymmenestä satunnaisluvusta väliltä 1-10.

    • Anonyymi

      Tai siten vaan vaikka sarakkeesen A iso läjä funktiota =RAND() allekain (kopioimalla) ja sitten B1 celliin funktio =SUM(OFFSET(A1,0,0,C1,1)) ja C1:ssä on siis haluttu arvo. A sarakkeessa on tietenkin oltava niin monta =RAND() riviä kuin mikä voi enintään olla C1:ssä olevan luvun maksimiarvo,

      • Anonyymi

        Ai niin, F9 päivittää sheetin.


    • Anonyymi

      Yksi tapa on tehdä oma funktio, vaikka joku tälläinen

      Function satunnaissumma(lukumäärä)
      Dim summa As Variant
      summa = 0
      If lukumäärä >= 1 Then
      For kerta = 1 To lukumäärä
      summa = summa Rnd
      Next
      End If
      satunnaissumma = summa
      End Function

      Tuota voi käyttää laittamalla soluun

      =satunnaissumma(100).

      Pienellä säädöllä voi lisätä satunnaisluvuille ala- ja ylärajatkin. Vinkkiä rajojen asetukseen https://www.techonthenet.com/excel/formulas/rnd.php

      • Anonyymi

        Suuret kiitokset avusta, funktio toimi mainiosti. Minulle tuli vielä mieleen, onnistuuko funktiolla laskemaan kuinka monta kertaa satunnaisluku on yli halutun arvon. Siis jos A1=satunnaisluku B1= 0 jos A1<0,3 ja muuten 1. Lisäksi solu C1 kertoisi kuinka monta kertaa kuinka monta kertaa A1 on ollut yli 0,3 esimerkiksi kymmenestä ajosta.


      • Anonyymi
        Anonyymi kirjoitti:

        Suuret kiitokset avusta, funktio toimi mainiosti. Minulle tuli vielä mieleen, onnistuuko funktiolla laskemaan kuinka monta kertaa satunnaisluku on yli halutun arvon. Siis jos A1=satunnaisluku B1= 0 jos A1<0,3 ja muuten 1. Lisäksi solu C1 kertoisi kuinka monta kertaa kuinka monta kertaa A1 on ollut yli 0,3 esimerkiksi kymmenestä ajosta.

        Funktio palauttaa vain yhden arvon. Voit määritellä moduliin public-muuttujan, johon satunnaissumma-funktio laskee tuon tiedon. Voit tehdä toisen funktion, joka palauttaa em. muuttujan arvon.


      • Anonyymi
        Anonyymi kirjoitti:

        Funktio palauttaa vain yhden arvon. Voit määritellä moduliin public-muuttujan, johon satunnaissumma-funktio laskee tuon tiedon. Voit tehdä toisen funktion, joka palauttaa em. muuttujan arvon.

        Käytttäjän laatima 'Array Formula' palauttaa haluttaessa kaksi tai hyvinkin monta arvoa (en tiedä mikä on yläraja). Hyvä ohje: http://www.cpearson.com/Excel/ArrayFormulas.aspx


      • Anonyymi
        Anonyymi kirjoitti:

        Suuret kiitokset avusta, funktio toimi mainiosti. Minulle tuli vielä mieleen, onnistuuko funktiolla laskemaan kuinka monta kertaa satunnaisluku on yli halutun arvon. Siis jos A1=satunnaisluku B1= 0 jos A1<0,3 ja muuten 1. Lisäksi solu C1 kertoisi kuinka monta kertaa kuinka monta kertaa A1 on ollut yli 0,3 esimerkiksi kymmenestä ajosta.

        Kun on pienistä määristä kyse niin tuollaiset on nopeinta tehdä sheetillä, esimerkiksi:

        =COUNTIF(A1:A100,"<0.3")

        laskee alueen A1:A100 sisältämien niiden cellien määrän, joissa kaikissa on funktio

        =RAND()

        joiden arvo on alle 0,3.

        Bonuksena voi helposti luoda erilaisia graafeja ja voi helposti käyttää Excelin tilastomatemaattisia funktiota analyysejä varten.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Maatalous- ja yritystuet pois, työeläkevaroilla valtion velka pois

      Suomi saadaan eheytettyä kädenkäänteessä, kun uskalletaan tehdä rohkeita ratkaisuja. Maatalous- ja yritystuet ovat hait
      Maailman menoa
      99
      3586
    2. Sanna on suomalaisille siis velkaa 24 mrd euroa

      Muistanette vielä kuinka Italian remonttirahoja perusteltiin sillä, että italialaiset ostaa suomalaisilta paidatkin pääl
      Maailman menoa
      108
      2225
    3. Hei! Halusin vain kertoa.

      En tiedä luetko näitä, mutta näimme n.4vk sitten, vaihdoimme muutaman sanan ja tunsin edelleen kipinän välillämme. Katso
      Tunteet
      5
      2029
    4. Miksi ikävä ei helpotu vuosien jälkeenkään?

      Tänään olin ensimmäistä kertaa sinun lähtösi jälkeen tilassa, jossa vuosia sitten nähtiin ensimmäistä kerta. Ollessani
      Rakkaus ja rakastaminen
      8
      1794
    5. Teboili alasajo on alkanut

      Niinhän siinä kävi että teebboili loppuu...
      Suomussalmi
      36
      1506
    6. Tiesitkö? Suomessa lääkäri voi toimia ammatissaan, vaikka hän olisi seksuaalirikollinen

      Järkyttävää… Motin mukaan Suomessa lääkäri voi toimia ammatissaan, vaikka hän olisi yksityiselämässään syyllistynyt es
      Maailman menoa
      58
      1006
    7. Oot kyl rakas

      Et tiiäkkään miten suuri vaikutus sulla on mun jaksamiseen niin töissä, kun vapaallakin❤️. Oot täysin korvaamaton. En t
      Ikävä
      36
      940
    8. Kirjoittaisit edes jotain josta tiedän

      Varmasti oletko se oikeasti sinä. Tänään tälläinen olo. 🫩
      Ikävä
      70
      892
    9. Miten voitkin olla aina niin fiksu

      ...aina niin huomaavainen, kärryillä ja kartalla. Yritän etsimällä etsiä sinusta jotain vikaa, että saisin pidettyä sydä
      Ikävä
      47
      850
    10. Sofia Zida puhuu rehellisesti suhteesta Andy McCoyhin: "Se on ollut mulle tavallaan..."

      Sofia ja Andy, aika hellyttävä parivaljakko. Sofia Zida on mukana Petolliset-sarjassa. Hänet nähtiin Yökylässä Maria Ve
      Suomalaiset julkkikset
      4
      827
    Aihe