Excel中用VBA生成随机数
发布网友
发布时间:2022-04-30 17:26
我来回答
共3个回答
热心网友
时间:2022-06-04 21:19
展开1全部原发布者:酒醒梦已残08
求教:我的电子表格中rand()函数的取值范围是-1到1,如何改回1到0回答:有两种修改办法:是[1-rand()]/2,或[1+rand()]/2。效果是一样的,都可生成0到1之间的随机数电子表格中RAND()函数的取值范围是0到1,公式如下:=RAND()如果取值范围是1到2,公式如下:=RAND()*(2-1)+1RAND()注解:若要生成a与b之间的随机实数:=RAND()*(b-a)+a如果要使用函数RAND生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。示例RAND()介于0到1之间的一个随机数(变量)=RAND()*100大于等于0但小于100的一个随机数(变量)excel产生60-70随机数公式=RAND()*10+60要取整可以用=int(RAND()*10+60)我想用excel在B1单元个里创建一个50-80的随机数且这个随机数要大于A1单元个里的数值,请教大家如何编写公式!整数:=ROUND(RAND()*(80-MAX(50,A1+1))+MAX(50,A1+1),0)无需取整数:=RAND()*(80-MAX(50,A1))+MAX(50,A1)要求:1,小数保留0.12,1000-1100范围3,不要出现重复=LEFT(RAND()*100+1000,6)至于不许重复你可以设置数据有效性在数据-有效性设=countif(a:a,a1)=1选中a列设有效性就好了其他列耶可以急求excel随机生成数字的公式,取值要在38.90-44.03之间,不允许重复出现,保留两位小数,不允许变藏=round(RAND()*5+38.9,2)公式下拉Excel随机数Excel具有强大的函数功能,使用Excel函数,可以轻松在Exc
热心网友
时间:2022-06-04 21:20
=A1+(RAND()*0.01+0.07)*(-1)^INT(RAND()*10)
在b1
生成a1
差值在0.07和0.08之间的随机数
你可以随意调整0.01
和0.07
只要他们相加等于0.08即可
vba的话把rand换成rnd
你的代码不会大于0.08的,你看看是不是别的地方代码有问题吧
热心网友
时间:2022-06-04 21:20
这个需要用vba么?excel函数就搞定了。
当然录制一个宏也没问题。
准备好数据,点击数据分析按钮,如图操作。
我这准备的数据是5个,总概率是1(0.1,0.15,0.2,0.25,0.3),分别对应值(1,2,3,4,5)
数值与概率输入区域必须是两列,左边为值,右边为概率。
结果你就选个起始单元格输出吧。
下面是宏脚本
application.run
"atpvbaen.xlam!random",
activesheet.range("$a$7"),
5,
1,
_
7,
,
activesheet.range("$a$1:$b$5")