今天有同事问我怎么在Excel中进行随机抽样,这个问题我在以前的工作中还从来没有涉及过,于是先自己研究一下

网上搜索了一番,可以通过RAND()函数来实现,如下图所示:

简单随机抽样的公式

假设我们有30行数据,在最后一列输入产生随机数的函数“=RAND()”,然后对随机数进行排序“=RANK(B2,$B$2:$B$31,0)”,取排序小于6的为样本并产生样本标志”=IF(C2<6,TRUE,FALSE)”,最后填充整列。

这样就对每行数据,产生了一个1-30的不重复的随机数,取1-5的数为样本,即完成了对这30个数的随机抽样,选中B列,按F9键,可以对公式进行重新计算,即重新产生随机数。

不过同事叫我帮忙的样本总量有十多万行数据,于是将公式简化为两列,第一列产生随机数“=RAND()”,第二列是样本标志“=IF(RANK(B2,$B$2:$B$31,1)<6,TRUE,FALSE)”。

用到的函数简介:

RAND 函数

RAND 返回了一个大于等于 0 且小于 1 的平均分布的随机实数。 每次计算工作表时都会返回一个新的随机实数。

若要生成 a 与 b 之间的随机实数,请使用:

=RAND()*(b-a)+a

若要使用函数 RAND 生成一个随机数,但不希望每次计算单元格时数字都出现变化,可在编辑栏中输入 =RAND(),然后按 F9 将公式更改为随机数。 公式将计算并只保留一个值。

RANK 函数

返回一列数字的数字排位。 数字的排位是其相对于列表中其他值的大小。

语法
RANK(number,ref,[order])

RANK 函数语法具有下列参数:

Number 必需。 要找到其排位的数字。

Ref 必需。 数字列表的数组,对数字列表的引用。 Ref 中的非数字值会被忽略。

Order 可选。 一个指定数字排位方式的数字。

如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。

如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。


本站由 @澄哥 使用 Stellar 1.27.0 主题创建。
蜀ICP备19037348号-2川公网安备51160202511796号
本页总阅读量本站总阅读量本站访客数人次
本站已安全运行:

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。