Ich brauche klassische Spiel Würfel (Werte 1-6) durch Rnd-Funktion zu simulieren. Meine Lösung ist Round(5 * Rnd() + 1, 0)
, aber wenn ich 1 Million Werte erzeuge, habe ich keine guten Ergebnisse (nach Bild). Ich denke, dieses Problem ist in schlechten Gebrauch der RUNDE-Funktion, aber ich weiß nicht wo. Vielen Dank für Ihre Antworten ...Runde Funktion VBA EXCEL
Antwort
Schauen wir uns das Stück für Stück an.
Rnd()
gibt eine Zahl zwischen 0 und 1.
So 5 * Rnd() + 1
eine Zahl zwischen 1 und 6 gibt
Wir dieser Zahl als gleich wahrscheinlich denken kann in einem von 10 halbzahligem sein Bereiche: [1,1,5], [1,5,2] ... [5,5,6].
Eine davon wird auf 1 - [1,1,5] runden.
Zwei davon runden auf 2 - [1,5,2] und [2,2,5].
3, 4 und 5 haben in ähnlicher Weise zwei von denen, die zu ihnen runden werden.
Einer davon wird auf 6 runden - [5.5,6]
Dies erklärt die Verteilung Sie sehen.
Daher sollte geben Sie, was Sie suchen, wie es die Fläche um die Hälfte in beiden Richtungen erweitert, so gibt 1 und 6 die richtigen Gewichtungen.
Haben Sie versucht randzwischen() ?? funktionierte gut für mich ...
Yop, Randbetween ist auch eine gute Lösung ... –
- 1. Excel & VBA - Funktion RGP
- 2. Excel VBA Sortierarray Funktion
- 3. Array-Funktion in Excel VBA
- 4. DateAdd-Funktion in Excel-VBA
- 5. VBA Excel 2010, isError Funktion
- 6. Excel Zeit Funktion zu VBA-Funktion
- 7. Runde Funktion und add "$"
- 8. Wie runde Werte in VBA hinzufügen?
- 9. Excel VBA-Funktion, die ein Array zurückgibt
- 10. Funktion Überladung und UDF in Excel VBA
- 11. die „Zellen“ Funktion in Excel mit VBA
- 12. VBA Excel 2013 Format Funktion ändert Datum
- 13. #NAME? Fehler in Excel für VBA-Funktion
- 14. Excel VBA - Funktion zum Erkennen ungültiger Referenz
- 15. Looping Word Match-Funktion in Excel VBA
- 16. Excel VBA XLDialogSaveAs Funktion funktioniert nicht
- 17. Zeile Funktion Mathematik ClearContents - Excel VBA
- 18. Excel VBA Typ Mismatch mit Wenn Funktion
- 19. EXCEL VBA benutzerdefinierte Funktion - sonst ohne wenn
- 20. Excel VBA Match-Funktion ignoriert aktualisierte Sortierung
- 21. Passwort-Hash-Funktion für Excel VBA
- 22. Loop-Funktion läuft weiter VBA Excel
- 23. SQL str() vs Runde() Funktion
- 24. C Runde Funktion wirft Fehler: "undefined Bezug auf` Runde '... "
- 25. Excel VBA - Berechnen in VBA
- 26. Excel vba
- 27. VBA Like Funktion
- 28. Excel VBA - Äquivalentes Vorjahresdatum
- 29. Excel-VBA-Runde der Nachkommastellen für 2 Punkte oder ganze Blatt
- 30. Excel VBA nach Excel-Dezimalgenauigkeit
Bitte korrigieren Sie mich, wenn ich falsch liege. Aber dieser Beitrag scheint ein Duplikat von [Ist Excel VBA's Rnd() wirklich so schlecht?] (Http://stackoverflow.com/questions/38891165/is-excel-vbas-rnd-really-this-bad) (mit eine ausgezeichnete Antwort). Aber ich kann mir nicht sicher sein, da ich in Ihrem Beitrag keine Frage sehen kann. Beachten Sie auch, dass 'Rnd()' zuerst initialisiert werden muss: http://stackoverflow.com/questions/26281011/excel-vba-rnd-not-actually-random – Ralph