-
=RAND
()
<
/p>
此函数是生成
0
~
1
之间的随机小数。
若要生成
a
与
b
之间的随机实数,应使用:
=RAND()*(b-a)+a
所以若生成
1
与
10
之间的随机实数,应使用:
=RAND()*9+1
A1
输入
=rand()
下拉至
A1000
B1
输入
1, B2
输入
2,
下拉至
B1000,
即
B1000
是
1000
点选
a1:b1000,
以
A
列排序
B
列便是
1-1000
的随机数
,
且不重复
再来看下一个函数,求整函数
=in
t(a)
表示的是求不大于
a
的最大整
数,比如
int(6.78)=6;
int(9)=9;
int(-1.5)=-2
int(
π
)=3
现在把这两个函数结合到一起,就可以完成你的问题了。
选中某一列的第一行的单元格,在其中输入
=int(rand()*9)+1
或者输入:
=int(rand()*9+1)
都可以得到
1-10
之间的一个随机整数。
< br>然后用鼠标拖动该单元右下角的填充柄向下拖动,就可以得到一列符合条件的
1-
10
之间的
随机整数了。
用同样的方法你也可以得到一行或多行或多列甚至一个工作表的随机数。
在
excel
中如何产生不重复随机数
?
问题:
如何在
Excel b2:b101
中
,填充
1-100
范围的不重复随机数?
方法:
Sub
不重复随机数
()
For i = 2 To 101
Range(
‘初始化要填充的范围
Next i
For i = 2 To 101
Range(
Do
While
f(Range(
Range(
&
i)) > 1
Range(
Loop
Next i
End Sub
注:
(<
/p>
1
)
VBA
中有
随机函数
rnd()
,功能是:返回一个小于
< br>1
,同时大于等于
0
的随
机数。
若要产生一个范围从
lowerbou
nd
为
m
,
到
upperbound
为
n
的随机数序列,
常用算法是:
int(rnd()
*(n-m+1))+m
(
2
)
p>
countif()
是
Excel
工作表中的函数,不可在
VBA
中直接调用,可
以用
“worksheetfunction.函数”作为方法来调用工作表函数。
p>
MyValue =
Int((6 * Rnd) + 1) '
生成
1
到
6
之间的随机数值。
p>
提供两组公式来生成不重复的
1~25
的随
机数值:
-
-
-
-
-
-
-
-
-
上一篇:英语圣诞活动文案
下一篇:(完整版)Matlab各种随机数设置