excel高手请进:如何用EXCEL进行随机抽样,不可产生相同的随机种子.

例:现有1000人,我需要随机抽100人做样本.用RAND函数可产生随机数,但是产生的随机数中可能会出现被抽重的人,如何避免该问题?

题目是 1 至 1000内, 选 100个不重复的随机数(要正整数)。
由于不重复的变量, 是要经循环程序去判断, 故单单写公式是不可解决。
最简单的方法, 是执行宏, 可用我刚写的以下代码, 100个不重复的变量便马上显示在A1:A100
Sub Randx()
Dim xx(1 To 1000) As Integer
For t = 1 To 100
rerand:
x = Int(Rnd() * 1000 + 1)
If xx(x) > 0 Then GoTo rerand
r = r + 1
Cells(r, 1) = x
xx(x) = r
Next
End Sub
如不懂VBA, 亦可用以下的蓄意循环运算办法, 但理论上不是100%会成功的, 而且太多数字, 会颇费时。
A1输入 =IF(SUM($B$1:$B$100)<>100,INT(RAND()*1000+1),A1)
B1 输入 =COUNTIF($A$1:$A4100,A1)
将A1:B1 下拖至 A100:B100
然后选 工具 → 选项 → 计算→ 重复运算 打勾→ 最高次数 10000次→确定
A1:B100 便会不停运算
如 运算 10000次后, 尚未成功, 可再按 F9, 再执行运算, 直至成功
如成功, 应即 马上将A1:A100 做黏贴值, B1:B100 清除内容, 及将重复运算脱勾, 完成。
请细心测试!
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-06-05
用下面的公式产生1000个随机数,可以确保无重复:
=INT(RAND()*10000000)
然后用"复制"->"选择性粘贴/数值"的方法将这列数值固定下来,将人员按该列数据排序,你任意取前100名(或后100名,也可以是中间的100名)都是随机抽取的。本回答被网友采纳

excel高手请进:如何用EXCEL进行随机抽样,不可产生相同的随机种子.
然后选 工具 → 选项 → 计算→ 重复运算 打勾→ 最高次数 10000次→确定 A1:B100 便会不停运算 如 运算 10000次后, 尚未成功, 可再按 F9, 再执行运算, 直至成功 如成功, 应即 马上将A1:A100 做黏贴值, B1:B100 清除内容, 及将重复运算脱勾, 完成。请细心测试!

如何用EXCEL进行随机抽样,不可产生相同的随机种子?拜托各位大神_百度...
输入 =rand() 产生一个随机数, 并自动填充满一列;把随机数保存为数值,即去公式;把随机数这一列,按从大到小排序(反过来也可以),这时,样本就是被随机排过了。取前N个,就是在整体中随机抽样N个。

excel高手请进 选出随即数目且不重复
1、假定你的数据在A至E列,请在F1单元格输入公式:=LARGE($A1:$E1,COLUMN(A1))用填充柄将公式向右向下复制到相应范围。你原有数据将按行从大到小排序出现在F至J列。如有需要可用“选择性粘贴\/数值”复制到其他地方。注:第1步的公式可根据你的实际情况(数据范围)作相应的修改。如果要从小到大...

如何对Excel进行简单的随机抽样计算?
在“抽样方法”中选择“随机”。输入你希望抽取的样本数量。确保勾选了“随机种子”(如果你希望每次得到相同的结果)。点击“确定”来执行抽样。方法2:使用公式 如果你不想使用数据分析工具包,或者你的Excel版本不包含这个工具,你可以使用以下公式来实现相同的功能:使用RAND和RANDBETWEEN函数:假设你的数...

excel高手请进,生成随机不重复数
可以的啊,在A1-A30中写入公式=RAND()*100。再把单元格的设置成整数。选中A1-A30右击---设置单元格式格式---数字---数值。把小数点改成0。就好了

excel高手请进:100个姓名后面对应100个电话号码,在随机抽取20个...
操作方法:请参照以下步骤,在Excel中进行操作:1. 打开Excel,并选中包含姓名和电话号码的数据区域。2. 在姓名列的旁边添加两列,这两列将用于生成随机数和记录排序后的序号。3. 在新添加的列中,输入以下公式:“=RAND()”,这样每行都会生成一个0到1之间的随机数。4. 选中包含随机数的列,点击...

Excel高手请进,关于随机选取单元格填充的问题
你需要用VBA解决这问题 1、将所有组合列出,装入数组。2、随机抽取——与已抽取的项目比对,若不同,则返回值。

请教下 EXCEL 在一列资料中随机挑选20项 该如何操作(公式也可以)_百度...
如何把excel里的一列资料随机打乱 首先看一下原始资料 双击E2单元格,输入函式: =RAND() 回车后单元格将返回一个小于1大于0的随机数 RAND()函式是返回随机数的函式,不需要引数,返回值在0到1之间。一般来说在工作表中多个单元格同时执行RAND()函式返回的结果是不重复的。 双击单元格...

如何设置EXCEL相邻两个单元格随机整数不重复?(提问不完整,请点高手击进...
=vlookup(a:b,b9,2,)其中A:B代表你的盒号及质量所在的列,B9代表你示例中的B9单元格 公式意思:从AB列查找B9单元格的数字,返回AB列第2列对应的数据。A:B列自己根据盒号及质量调整。

excel随机生产区间数字后排序,急高手请进!
如图,假定随机数字在B1:B5,选A1到A5,输入公式:=SMALL(B1:B5,ROW()),按CTRL+SHIFT+ENTER键(数组公式),A1:A5得到楼主需要的结果

相似回答