【发布时间】:2012-05-28 13:55:40
【问题描述】:
我在 MS Excel 2007 中发现了一个非常好的函数,它是 RANDBETWEEN(bottom, top)。问题在于它仅随机化整数。使用这个公式:
=RANDBETWEEN(7.0, 9.9)
产量
8.0
9.0
7.0
7.0
etc...
我怎样才能修改它,使它也能产生像下面这样的十进制数
7.5
7.2
9.4
9.5
7.1
8.5
etc...
【问题讨论】:
我在 MS Excel 2007 中发现了一个非常好的函数,它是 RANDBETWEEN(bottom, top)。问题在于它仅随机化整数。使用这个公式:
=RANDBETWEEN(7.0, 9.9)
产量
8.0
9.0
7.0
7.0
etc...
我怎样才能修改它,使它也能产生像下面这样的十进制数
7.5
7.2
9.4
9.5
7.1
8.5
etc...
【问题讨论】:
使用 randbetween(70,99) 并将结果除以 10。
【讨论】:
参考这个http://ms-office.wonderhowto.com/how-to/generate-random-numbers-with-decimals-excel-338595/
30-40之间的随机十进制数
=rand()*10+30
0-100之间的随机十进制数
=rand()*100+0
【讨论】:
由于 RANDBETWEEN() 过去仅在分析工具包中可用(并产生 #NAME? 错误 when the ToolPak was not installed),您最好使用 RAND() 以实现向后兼容性、乘法和加法以移动范围和四舍五入到小数点后一位:
=ROUNDUP(7 + RAND() * (9.9 - 7 - 0.1), 1) ' Excludes 7.0 and 9.9
=ROUNDUP(7 + RAND() * (9.9 - 7), 1) ' Excludes 7.0, includes 9.9
=ROUNDDOWN(7 + RAND() * (9.9 - 7), 1) ' Includes 7.0, excludes 9.9
=ROUNDDOWN(7 + RAND() * (9.9 - 7 + 0.1), 1) ' Includes 7.0 and 9.9
但RANDBETWEEN() 问题现在只是一个向后兼容性问题,所以如果您确定您的电子表格只能在 Excel 2007 及更高版本中使用,您可以使用任何一种方法。
【讨论】: