Rand之间只返回奇数

时间:2012-05-15 17:55:50

标签: excel

我需要在Excel中的两个边界之间创建一个随机数列表。诀窍是数字需要奇怪。所以我不能只使用randbetween()。我应该使用像=if(a1 % 2 =0) then a1=a1+1这样的东西。我不知道在Excel中的语法,但我得到的是如果数字是偶数(mod 2 = 0)然后添加一个。

4 个答案:

答案 0 :(得分:2)

使用小技巧。 CEILINGFLOOR有第二个参数,这是您需要的。

=CEILING(RANDBETWEEN(...),2)-1

答案 1 :(得分:1)

您可以获得具有不同范围的随机数 n ,并为您的单元格值计算2 * n +1。我认为下限是0(或1),所以你的新范围也从0开始(如果没有,看你如何计算上限)。对于上限,如果您希望 m 作为最大奇数,那么您的上限(显然)为(m-1)/2

例如,假设您想要15到27之间的奇数。您的randbetween下限为(15-1)/2 = 7,上限为(27-1)/2 = 13。因此,单元格公式为=2*randbetween(7, 13)+1

答案 2 :(得分:1)

你也可以在这里使用RAND()与早期的excel版本兼容,一般来说这个公式会给你一个均匀的分布,假设C2包含下限而D2包含上限(两个奇数)

=INT(RAND()*((D$2-C$2)/2+1))*2+C$2

答案 3 :(得分:0)

我知道我在游戏中迟到了,但这不会那么简单。

A1 = randbetween(0,100)
B1 = if(mod(A1,2)=0,A1+1,A1)