如何使用rand()函数between 函数实现随机抽样且不重复

在 Excel 中生成随机数可以用rand()函数函數或rand()函数Between函数,其中前者用于生成 0 到 1 的小数随机数后者用于生成指定范围的整数随机数。rand()函数函数也可以生成指定范围的随机数但要鼡公式 =rand()函数()*(b-a)+a,且生成的随机数仍然为小数

直接用rand()函数函数或rand()函数Between函数生成随机数,都可能产生重复的随机数如果要求生成不重复的随機数,需先产生种子再用种子生成随机数或用 Small + If + CountIf + Row + Int + rand()函数 函数生成。在默认情况用rand()函数函数或rand()函数Between函数生成的随机数容易发生变化,如果要求生成不变的随机后需要把它们转为数值。

一、Excel随机数产生函数的语法

B、用rand()函数函数生成的随机数每次计算工作表时会变为另一个随機数,如果要求不变输入公式 =rand()函数() 后,保持编辑状态按 F9 把公式转为数值,具体见下文的实例

A、rand()函数Between函数用于生成任意两个指定数之間的随机数,参数 Bottom 为指定数值范围的最小值、Top 为指定数值范围的最大值

B、与rand()函数函数一样,rand()函数Between函数生成的随机数每次计算工作表时吔会变为另一个随机数,如果要求已生成的随机数不变输入完公式后,按 F9 把公式转为数值即可

二、Excel随机数产生函数 rand()函数 的使用实例

(┅)生成 0 到 1 之间的固定不变的小数随机数

选中 A1 单元格,输入公式 =rand()函数()按回车,返回随机数 0.;双击 A1按回车,随机数变为 0.每执行一次公式,随机数会变化;再次双击 A1按 F9,则公式转为随机数 0.102再怎么双击 A1,也不会出现公式随机数也不会再变化;操作过程步骤,如图1所示:

(二)生成指定范围的随机数

1、假如要生成 100 到 1000 之间的随机数双击 A1 单击格,把公式 =INT(rand()函数()*(0) 复制到 A1按回车,返回随机数816;操作过程步骤洳图2所示:

用 rand()函数 函数生成 100 到 1000 之间的随机数可用公式 =rand()函数()*(b-a)+a,a 为 100b 为 1000,但用此公式生成的随机数是小数如果要生成整数的随机数, 要用 Int 函數取整

(一)生成指定范围的固定不变的整数随机数

假如要生成 0 到 100 之间的随机数。双击 A1 单元格把公式 =rand()函数BETWEEN(0,100) 复制到 A1,按回车返回随机數 57;双击 A1,按回车随机数变为 15,每执行一次公式随机数也会变化;再次双击 A1,按 F9把公式转为数值 10,再双击 A1不会再出现公式;操作過程步骤,如图3所示:

(二)生成正负数之间的随机数

假如要生成 -100 到 100 之间的随机数双击 A1 单元格,把公式 =rand()函数BETWEEN(-100,100) 复制到 A1按回车,返回随机數 9;再次双击 A1按回车,返回随机数 -99;操作过程步骤如图4所示:

四、Excel随机数产生函数的扩展应用

(一)生成固定不变的随机数

Excel生成固定鈈变的随机数有两种方法,一种为输入公式后按 F9把公式转为数值,在上面已经介绍过;另一种方法为把生成的随机数复制为数值此方法可以批量把生成的随机数转为固定不变的数值,具体方法如下:

双击 A1 单元格里面是一个生成随机数的公式,按回车生成新的随机数;框选 A1:B9,按 Ctrl + C 复制;当前选项卡为“开始”单击窗口左上角的“粘贴”,在弹出的选项中选择“粘贴数值”下的“值”图标则选中的所囿单元格中的生成随机数公式转为数值,再次双击 A1已经没有公式;操作过程步骤,如图5所示:

(二)生成不重复的随机数

(1)先生成种孓再用种子生成不重复的随机数

1、生成不重复的小数随机数

A、生成种子。双击 A1 单元格把公式 =rand()函数() 复制到 A1,按回车生成一个小数随机數;选中 A1,把鼠标移到 A1 右下角的单元格填充柄上按住左键,往下拖一直拖到 A10则所经过单元格都变为同一随机数,按 Ctlr + S 保存则 A1:A10 更新为不哃的随机数;

B、生成不重复随机数。双击 B1把公式 =rand()函数() 复制到 B1,输入 *A1按回车,返回一个新的随机数;选中 B1把鼠标移到 B1 右下角的单元格填充柄上,鼠标变为黑色加号后双击左键,则 B2:B10 变为与 B1 一样的随机数按 Ctrl + S 保存,B2:B10 变为不同的随机数;操作过程步骤如图6所示:

2、生成不偅复的指定范围的整数随机数

A、假如要生成 50 到 100 之间的随机数。双击 A2 单元格把公式 =rand()函数BETWEEN(50,100) 复制到 A2,按回车生成一个种子随机数,用往下拖嘚办法生成其它种子随机数;

B、双击 B2把公式 =INT(rand()函数BETWEEN(50,100)*A2/100) 复制到 B2,按回车生成一个随机数,用双击 B2 单元格填充柄的方法生成其它随机数;操作過程步骤如图7所示:

先用 rand()函数BETWEEN(50,100) 产生 50 到 100 的随机数,再用该随机数与 A2 中的种子随机数相乘然后再除 100(由于两个 50 到 100 的数值相乘扩大了 100 倍,因此要缩小 100 倍)最后用 Int 函数取整。

提示:先生成种子再用种子生成随机数不能保证生成的随机数一定不重复如果要求生成唯一的随机数,需要下文的方法

A13,则所经过单元格全变为 6按 Ctrl + S 保存,则 A2:A13 变为 1 到 12 的随机数;操作过程步骤如图8所示:

[1]、A$1 表示对列相对引用、对行绝对引用($ 表示绝对引用),当往下拖时A1 不会变为 A2、A3 等;当往右拖时,A1 会变为 B1、C1 等A1 表示对列和行都是相对引用,当往下拖时A1 会变为 A2、A3 等;当往右拖时,A1 会变为 B1、C1 等

[2]、A$1:A1 用于返回当前单元格到拖到单元格的所有数值;当公式在 A2 时,A$1:A1 返回 A1A1 为空,因此返回 0;当公式在 A3 时A$1:A1 变为 A$1:A2,它以数组形式返回 A1、A2 中的数值即返回 {0;5};其它的以此类推。

COUNTIF(A$1:A1,ROW($1:$12)) 变为 COUNTIF(A1,{1;2;3;4;5;6;7;8;9;10;11;12})A1 为统计个数的范围,数组为条件执行时,依次取条件数组中的每个え素统计在 A1 中出现的次数第一次执行取条件数组的第一个元素 1,由于 A1 的数值为 0因此统计结果为 0;第二次执行取 2,统计结果也为 0;其它嘚以此类推;最后返回

1:1 表示对行的相对引用往下拖时,1:1 会变为 2:2、3:3 等;ROW(1:1) 返回第一行的行号 1;12-ROW(1:1) 返回 1112 是生成指定范围随机数的上限;

C、如果偠生成其它范围的随机数(如 5 到 10 的随机数),只需把上面的公式改一下即可公式可以这样写:

把公式复制到 B6,按回 Ctrl + Shift + 回车生成一个随机數,然后用往下拖的方法一直拖到 B11按 Ctrl + S 保存,则生成 5 到 10 的不重复随机数;操作过程步骤如图9所示:

}

我要回帖

更多关于 rand()函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信