抽样提取是调查、检测取样中经常会用到的数据处理方法,为了使抽样数据具有代表性,抽样要具有随机性,并且要保证全体样本中的每一项都具有完全相同的随机抽取概率。

如果要在1~10之间随机产生一个整数,可以用公式:

=INT(RAND()*10+1)




取整 JavaScript 取整公式_随机函数


RAND 函数是一个随机函数,能在(0,1)的范围内返回一个均匀分布的随机实数,并且每次工作表运算时都能返回一个新的数,是一个易失性函数。

由于RAND函数的返回范围不是一个绝对对称的区间(大于等于0而小于1),因此要更严格的等概率产生1~10之间的随机整数,可以用公式:

=ROUND(RAND()*10+0.5,0)

ROUND 函数是一个采用四舍五入算法进行进位的取整函数。RAND()*10+0.5 的数据范围在[0.5, 10.5)之间,通过四舍五入运算可以得到等概率的[1,10]之间的整数。


取整 JavaScript 取整公式_excel取整数的函数_02


在Excel 中有一个更方便的函数RANDBETWEEN可用于返回对称区间的随机整数,它在Excel 2003中需要加载"分析工具库"才能使用,上面的公式可以替代为:

=RANDBETWEEN(1,10)


取整 JavaScript 取整公式_excel取整数的函数_03


如果要使用随机函数从图某公司部分员工记录所示中对员工信息进行随机抽样,只需抽取一个员工的情况下可以使用以下公式:

=INDEX(B2:B102,ROUND(RAND()*102+0.5,0))


取整 JavaScript 取整公式_excel取整函数_04


=INDEX(B3:B103,RANDBETWEEN(1,102))


取整 JavaScript 取整公式_随机函数_05


如果要同时抽取多位员工,并不能将上述公式直接复制使用,因为会有机率取到同一位员工的信息。如果要随机抽取5位员工,可按如下操作进行。

在E列使用随机函数生成一列辅助数据。在E2单元格内输入以下公式并向下复制填充至H2单元格为辅助列输入公式:

=RAND()


取整 JavaScript 取整公式_取整 JavaScript_06


在M2单元格内输入以下公式并向下复制填充至M6单元格:

=INDEX(D$2:D$102,MATCH(LARGE(H$2:H$102,ROW(2:2)),H$2:H$102,0))

结果显示如图所示获取到对应的姓名。


取整 JavaScript 取整公式_excel随机数_07


公式解析:

由于RAND函数可以返回实数(无穷小数),并且Excel支持15位有效数字,因此在H列中所产生的随机数在理论上出现重复的概率很小。使用LARGE函数对这一列随机数分别取出最大的几个数,然后通过INDEX+MATCH函数的组合进行定位匹配,就可以得到对应的D列姓名信息。

如果要在抽取时添加条件,例如只在打卡时间在9点半之前的员工中随机抽取五名员工,可将上述公式修改为下面的数组公式:

=INDEX(D$2:D$102,MATCH(LARGE(IF(F$2:F$102-"9:30:00"<=0,H$2:H$102),ROW(1:1)),H$2:H$102,0))

获取到对应的结果如图所示


取整 JavaScript 取整公式_随机函数_08


学会了这些函数吗?当前有的通信可能对这些函数特别陌,没关系