乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel中按一定比例生成随机数

excel中按一定比例生成随机数

作者:乔山办公网日期:

返回目录:excel表格制作


首先,rand函数是随机函数,随机性是平均分布的,肯定不能实现
1、2、3、4、5、6让4在表格中出现2次,其他随机
可以使用VBA实现的,请描述一下详细要7a64e58685e5aeb9334求,可以帮你写一段哦
Sub rand_generate()
count_4 = 0
arr = Array(1, 2, 3, 4, 5, 6)
arr_picker = 5
n = InputBox("请输入需要生成多少个随机数,数字会生成在A列", "随机数量确定")
Randomize
For i = 1 To n
Cells(i, 1) = Int(Rnd() * arr_picker)
If Cells(i, 1) = 4 Then
count_4 = count_4 + 1
If count_4 = 2 Then
arr_picker = 4
temp = arr(3)
arr(3) = arr(5)
arr(5) = temp
End If
End If
n = n + 1
Next
End Sub

1. 在A列输入如下
=INT(RAND()*10)+90,下拉10个;
=INT(RAND()*10)+80,下拉18个;
=INT(RAND()*10)+70,下拉14个;
=INT(RAND()*10)+60,下拉8个;
2.在B列输入=rand(),下拉至50;

3.B列升序或降序排序,A列数字可认为随机产生的
注意A列随时在变化,可以选择性粘贴数值
①生成A与B之间的随机数字(e799bee5baa6e58685e5aeb9331A<随机数<B)
在第一个格子中输入:=RAND()*(B-A)+A
如,生成1到10之间的随机数字,输入:=RAND()*9+1
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
②生成A与B之间的随机整数(A<随机数<B)
在第一个格子中输入:=INT(RAND()*(B-A)+A)
如,生成1到10之间的随机整数,输入:=INT(RAND()*9+1)
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
③生成A与B之间的随机数字(A≤随机数≤B)
在第一个格子中输入:=RAND()*(B-A+1)+A
如,生成1到100的随机数字,输入:=RAND()*100+1
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
④生成A与B之间的随机整数(A≤随机数≤B)
在第一个格子中输入:=INT(RAND()*(B-A+1))+A
如,生成1到100的随机整数,输入:= INT(RAND()*100)+1
其余数字,将鼠标置于该格子右下角,变为十字时,向下拖拉即可。
⑤若是2007或2010版,生成A与B之间的随机整数(A≤随机数≤B)
在第一个格子中输入:=RANDBETWEEN(A,B)即可。
如,生成1到10之间的随机整数,输入:=RANDBETWEEN(1,10)
如想得到随机小数,则输入:=RANDBETWEEN(1,100)/10

据我所知,没有直接的函数能实现这个功能。但如果非要做,还是可以写出来的!如下图所示:当然,还有一些特别情况,需要进一步优化!

=IF(COUNT(OFFSET($G$1,0,0,ROW()-1,1))<$B$3,RANDBETWEEN($C$3,$D$3),IF(COUNT(OFFSET($G$1,0,0,ROW()-1,1))<$B$2,RANDBETWEEN($D$2-($D$2-$D$3)+1,$D$2),""))

公式可以往下拉很多行,成千上万都行,然后调整左上角的设置区,G列的随机值就会变化

相关阅读

  • excel中按一定比例生成随机数

  • 乔山办公网excel表格制作
  • 首先,rand函数是随机函数,随机性是平均分布的,肯定不能实现1、2、3、4、5、6让4在表格中出现2次,其他随机可以使用VBA实现的,请描述一下详细要7a64e58685e5aeb9334求,可以帮你写一段
  • EXCEL如何产生随机数?

  • 乔山办公网excel表格制作
  • RANDBETWEEN 函数百 RANDBETWEEN 函数:返回指定大小范度围的随机整数。知语法道: randbetween(专bottom,top)示例 =randbetween(1,300) 随机生成1~300的数字属Excel随机数函数rand(500,2000) 这就
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网