Dzwebs.Net

撰写电脑技术杂文十余年

Excel随机抽样的简单方法

Admin | 2010-7-1 15:58:01 | 被阅次数 | 23068

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  比如,如果您的Excel有1000人,想从这1000个人当中抽出100个人来做样品,那么,如何做呢?当然,前提条件是,抽样出来的这100个人,不是重复的人。

  我们可以使用的函数的方法和VBA的方法来解决上述或类似的难题。

  说白了,所谓的抽样,无非就是取随机数的问题。

  一、使用函数实现抽样

  如不懂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 清除内容, 及将重复运算脱勾, 完成。

  二、使用VBA抽样的方法

  条件为:1 至 1000内, 选 100个不重复的随机数(要正整数)。

  由于需要不重复的变量, 所以必须要经循环程序去判断。

  最简单的方法, 是执行宏, 可用如下的代码, 100个不重复的变量便马上显示在A1:A100

  Sub 我的抽样()
   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


该杂文来自: Excel杂文

上一篇:Excel数据分析介绍

下一篇:Excel如何在空行空单元格内快速填充相同的内容

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计