圆angularfunctionVBA EXCEL

我需要通过Rnd函数模拟经典播放立方体(值1-6)。 我的解决scheme是Round(5 * Rnd() + 1, 0) ,但是当我生成1千万个值时,我没有好的结果(按照图片)。 结果在这里 我认为,这个问题是使用ROUND函数的不好的地方,但是我不知道在哪里。 谢谢您的回答…

我们一起来看看这个。

Rnd()给出一个介于0和1之间的数字。

所以5 * Rnd() + 1给出一个介于1和6之间的数字。

我们可以把这个数字想象成同样可能在10个半整数区域之一:[1,1.5],[1.5,2] … [5.5,6]。

其中一个将围绕1 – [1,1.5]。

其中两个将轮到2 – [1.5,2]和[2,2.5]。

3,4和5类似地有两个这些轮到他们。

其中一个将围绕到6 – [5.5,6]

这解释了你所看到的分配。

因此Round(6 * Rnd() + 0.5, 0)应该给你你要找的东西,因为它在两个方向上扩展了一半,所以给出1和6的正确权重。

你尝试过randbetween()吗? 为我工作得很好…