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.
Random-loop exceliin.
8
252
Vastaukset
- 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
Järkyttävä tieto Purrasta
Purra tapasi nykyisen miehensä täällä. Suomi24:ssä! Tulipa likainen olo. Nyt loppuu tämä roikkuminen tällä palstalla.2214440Näin asia on
Tiedän ettei hän koskaan aio lähestyä minua eikä niin ole koskaan aikonutkaan, eikä lähesty ja enkä minä enää tee sitä k223379Mikseivät toimittajat vaadi Orpoa vastuuseen lupauksistaan
Missä ne 100.000 uutta työpaikkaa muka ovat? Eivät yhtään missään. Näin sitä Suomessa voi puhua ja luvata mitä sattuu. E2621945Taas varoitusta lumesta ja jäästä
Ai kauhea! Vakava säävaroitus Lumi-/jäävaroitus Varsinais-Suomi, Satakunta, Uusimaa, Kanta-Häme, Päijät-Häme, Pirkanmaa,61623Aavistan tai oikeastaan
tiedän, että olet hulluna minuun. Mutta ilman kommunikointia, tällaisenaan tilanne ja kaikki draama ovat mun näkökulmast381227Mistä erotat onko joku kiinnostunut vai muuten mukava?
Voi sekaantua yleiseen ystävällisyyteen vai voiko?1611189Poliisi tahtoo pääsyn 4 miljoonan suomalaisen sormenjälkiin.
https://www.is.fi/digitoday/art-2000011009633.html Tämä sormenjälkiin poliisin pääsy on erittäin tärkeä rikollisten kiin96905- 63755
- 30747
- 176740