如何使用excell生成100个不重复随机整数
如何使用excell生成100个不重复随机整数
1到100之间100个随机整数,这是个问题吗?好好学学数学吧。这叫序列数,知道吗?
解决方法
用EXCEL不可能可以直接实现,或一次性实现
但用EXCEL下面的VBA编程可以实现
在EXCEL下按组合键 Alt F11 键,进入VBA编程状态,
选择菜单“插入”-“模块”
比如下面过程将100个不重复随机整数填入A1到A100单元格中
随机整数的范围在1到100之间,将下面程序拷贝入新增的空白模块中,按F5键执行,就会看到效果。
sub 产生100个不重复随机整数()
Dim RN(100) As Integer
Dim I As Integer, J As Integer, R As Integer
Randomize (Timer)
For I = 1 To 100
R = Int(Rnd * 100) 1
For J = 1 To I - 1
If R = RN(J) Then Exit For
Next J
If J < I Then
I = I - 1
Else
RN(I) = R
Cells(I, 1) = R
End If
Next I
end sub
用C吧
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
int i;
time_t t;
srand((unsigned) time(&t));
printf(“Ten random numbers from 0 to 99\n\n”);
for(i=0; i<10; i )
printf(“%d\n”, rand() % 100);
return 0;
}
不知道你需要多少位数的随机整数,用六位的随机整数为例:
=RANDBETWEEN(100000,999999)
RANDBETWEEN未产生随机数函数;参数为最小数,最大数,也就是要求Excel随机产生100000-999999之间的不重复的随机六位数。
然后从A1拖动填充到A100,双击工作表中的任何地方,都会刷新一次随机数。选择A1:A100,复制/选择性粘贴/数值,可将生成的随机数粘贴到新的工作表中,进行排序(不可以对产生随机数的区域排序,因为你排序一次,它就刷新一次)即可得到你所需要的随机数了。