ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何在[-A,A]区域内生成不包含0值的随机数?

如何在[-A,A]区域内生成不包含0值的随机数?

作者:绿色风 分类: 时间:2022-08-17 浏览:106
楼主
rongjun
Q:如何在[-A,A]区域内生成不包含0值的随机数?(假设A=100)
A:采用如下公式:

  1. =100*(-1)^INT(RAND()*2)*(1-RAND())

如何在【-A,A】区域内生成不包含0值的随机数?.rar
2楼
chrisfang
Q:如何使用函数公式生成随机数,要求其随机范围以原点为轴对称,且不包含原点。假定数据范围为A,即要求生成位于[-A,A]区间的随机数,且不包含0。
A:可以使用如下公式:

  1. =(-1)^INT(RAND()*2)*(RAND()*A-A)


思路解析:
基础知识:RAND函数随机范围为[0,1)。0可以取到,但1无法取到。
1,RAND()*A随机范围为[0,A),由此得到RAND()*A-A的随机范围为[-A,0)。
2,RAND()*2的随机范围为[0,2),由此得到INT(RAND()*2)的结果在0和1两个整数间取其一,由此得到(-1)^INT(RAND()*2)的公式结果在-1和1两个整数间取其一。
3,由1和2可以得知,整个公式的随机范围为[-A,0)与(0,A]的合集。

上述分析假设A大于0,在A小于0的情况下同样成立。
3楼
biaotiger1
rong版考虑的是相对于原点对称又不包含0的随机数。
如果数据区域相对于原点不对称又不包含0。请参考下帖
如何生成非对称却又不包含0的随机数? http://www.exceltip.net/thread-6191-1-1.html

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap