Table of contents
本教程将教你一些快速选择名字、数字或其他任何数据的方法。 你还将学习如何获得一个没有重复的随机样本,以及如何在鼠标点击中随机选择指定数量或百分比的单元格、行或列。
无论你是为新产品发布做市场调查,还是评估营销活动的结果,重要的是你要使用无偏见的数据样本进行分析。 而实现这一目标的最简单方法是在Excel中获得随机选择。
什么是随机样本?
在讨论抽样技术之前,让我们提供一些关于随机选择的背景信息,以及什么时候你可能想要使用它。
在概率论和统计学中,一个 随机抽样 是指从更大的数据集中选出的数据子集,又称 人口 随机样本中的每个元素都是完全由机会选择的,被选中的概率是相等的。 为什么你需要一个? 基本上,为了获得总人口的无偏见代表。
例如,你想在你的客户中进行一次小小的调查。 显然,向你几千个数据库中的每一个人发送问卷是不明智的。 那么,你调查谁呢? 是100个最新的客户,还是按字母顺序排列的前100个客户,还是名字最短的100个人? 这些方法都不符合你的需要,因为它们天生就是为了获得一个公正的样本,每个人都有平等的机会被选中,请使用下面描述的方法之一进行随机选择。
用公式进行Excel随机选择
在Excel中没有随机抽取单元格的内置函数,但你可以使用其中一个函数来生成随机数作为变通方法。 这些可能不能称为简单直观的公式,但它们确实有效。
如何从一个列表中选择一个随机值
假设你在A2:A10单元格中有一个名字的列表,你想从列表中随机选择一个名字。 这可以通过使用以下公式之一来实现。
=index($a$2:$a$10,randbetween(1,counta($a$2:$a$10)),1)
或
=index($a$2:$a$10,randbetween(1,rows($a$2:$a$10)),1)
就这样!你的Excel随机取名器已经设置好了,随时可以使用。
注意:请注意,RANDBETWEEN是一个 挥发性 为了防止这种情况发生,你可以复制提取的名称并将其作为值粘贴到另一个单元格( 粘贴专用 > 价值观 ).详细说明请见如何用数值替换公式。
当然,这些公式不仅可以选择随机名称,还可以选择随机数字、日期或其他任何随机单元格。
这些公式是如何工作的
简而言之,你使用INDEX函数,根据RANDBETWEEN返回的随机行号,从列表中提取一个值。
更具体地说,RANDBETWEEN函数在你指定的两个值之间生成一个随机的整数。 对于较低的值,你提供数字1;对于较高的值,你使用COUNTA或ROWS获得总行数。 结果,RANDBETWEEN返回一个介于1和数据集中总行数之间的随机数字。 这个数字将进入 行数_num 的参数,告诉它要选哪一行。 对于 列_num 参数,我们使用1,因为我们想从第一列提取一个值。
注意:这种方法对选择 一个随机细胞 如果你的样本应该包括几个单元格,上述公式可能会返回几个相同的值,因为RANDBETWEEN函数不是无重复的。 当你从一个相对较小的列表中挑选一个相对较大的样本时,情况更是如此。 下一个例子显示了如何在Excel中进行无重复的随机选择。
如何在Excel中实现无重复的随机选择
在Excel中,有几种方法可以选择没有重复的随机数据。 一般来说,你会使用RAND函数给每个单元格分配一个随机数,然后你通过使用索引等级公式来挑选几个单元格。
利用A2:A16单元格中的姓名列表,请按照以下步骤提取一些随机的姓名。
- 在B2中输入Rand公式,并将其复制到该列。
=RAND()
=index($a$2:$a$16, rank(b2,$b$2:$b$16), 1)
就这样!五个随机的名字被提取出来,没有重复的。
这个公式如何运作
就像前面的例子一样,你使用INDEX函数根据随机的行坐标从A列提取一个值。 在这种情况下,需要两个不同的函数来获取。
- RAND公式用随机数来填充B列。
- RANK函数返回同一行中随机数字的等级。 例如,C2单元格中的RANK(B2,$B$2:$B$16)得到B2中数字的等级。 当复制到C3时,相对引用B2变为B3并返回B3中数字的等级,以此类推。
- 由RANK返回的数字被送入 行数_num 的参数,所以它从该行中选取数值。 在 列_num 参数,你提供1是因为你想从第一列提取一个值。
一句话,要小心! 如上面的截图所示,我们的Excel随机选择只包含唯一的值。 但从理论上讲,在你的样本中出现重复的可能性很小。 原因如下:在一个非常大的数据集上,RAND可能会产生重复的随机数,而RANK将为这些数字返回相同的排名。 就我个人而言,我在测试中从未得到任何重复的数字,但在理论上,这种概率确实存在。
如果你正在寻找一个无懈可击的公式来获得只有唯一值的随机选择,那么请使用RANK + COUNTIF或RANK.EQ + COUNTIF组合,而不是仅仅使用RANK。 关于逻辑的详细解释,请参见Excel中的唯一排名。
完整的公式有点繁琐,但100%没有重复。
=index($a$2:$a$16, rank.eq(b2, $b$2:$b$16) + countif($b$2:b2, b2) - 1, 1)
注意事项。
- 和RANDBETWEEN一样,Excel RAND函数也会在每次重新计算你的工作表时产生新的随机数,导致随机选择发生变化。 要保持你的样本不变,可以复制它并粘贴到其他地方作为数值( 粘贴 特别 > 价值观 ).
- 如果同一名称(数字、日期或任何其他数值)在你的原始数据集中出现了不止一次,那么随机样本也可能包含同一数值的几次出现。
在Excel 365 - 2010中获得无重复的随机选择的更多方法在此介绍:如何在Excel中获得无重复的随机样本。
如何在Excel中选择随机行
如果你的工作表包含多于一列的数据,你可以这样选择一个随机样本:给每一行分配一个随机数,对这些数字进行排序,然后选择所需的行数。 详细步骤如下。
- 在你的表格右边或左边插入一个新列(本例中为D列)。
- 在插入的列的第一个单元格中,不包括列的标题,输入RAND公式。
=RAND()
- 双击填充柄,将公式复制到下一列。 结果,你将有一个随机数字分配给每一行。
- 对随机数进行排序 最大的到最小的 (按升序排序会把列头移到表的底部,所以一定要按降序排序)。 为此,请到 数据 标签> 排序 & 筛选 Excel将自动扩大选择范围,并按随机顺序对整个行进行排序。
如果你对你的表格的随机性不是很满意,可以再次点击排序按钮来求助于它。 详细说明,请看如何在Excel中随机排序。
- 最后,为你的样本选择所需数量的行,复制它们并粘贴到你喜欢的地方。
要想仔细了解本教程中讨论的公式,欢迎下载我们的样本工作簿,了解Excel随机选择。
如何在Excel中用随机化工具进行随机选择
现在你知道了在Excel中获得随机样本的少数公式,让我们看看如何在鼠标点击中实现同样的结果。
在我们的终极套件中包含了Excel的随机生成器,这里是你做什么。
- 选择你的表格中的任何单元格。
- 转到 Ablebits工具 标签> 公用事业 组,并点击 随机化 > 随机选择 :
例如,我们可以这样从我们的样本数据集中随机选择5行。
而你将在一秒钟内得到一个随机选择。
现在,你可以按Ctrl + C复制你的随机样本,然后按Ctrl + V将其粘贴到同一个或另一个工作表中的位置。
如果你想在你的工作表中测试随机化工具,只要抓住下面的Ultimate Suite的试用版。 如果你使用的是谷歌电子表格,你可能会发现我们的谷歌表格的随机发生器有用。
可用的下载
选择随机样本--公式示例 (.xlsx 文件)
终极套房 - 试用版 (.exe文件)