1

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

4

4 回答 4

2

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

=CEILING(RANDBETWEEN(...),2)-1
于 2012-05-15T18:11:42.890 回答
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

于 2012-05-15T18:00:33.833 回答
1

您也可以在此处使用 RAND() 以与早期的 excel 版本兼容,通常此公式将为您提供均匀分布,假设 C2 包含下限,D2 包含上限(均为奇数)

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

于 2012-05-15T18:33:20.200 回答
0

我知道我在比赛中迟到了,但这不是那么简单。

A1 = randbetween(0,100)
B1 = if(mod(A1,2)=0,A1+1,A1)
于 2012-05-15T18:27:27.143 回答