Excel随机选择:如何从数据集中获取随机样本

  • Share This
Michael Brown

本教程将教你一些快速选择名字、数字或其他任何数据的方法。 你还将学习如何获得一个没有重复的随机样本,以及如何在鼠标点击中随机选择指定数量或百分比的单元格、行或列。

无论你是为新产品发布做市场调查,还是评估营销活动的结果,重要的是你要使用无偏见的数据样本进行分析。 而实现这一目标的最简单方法是在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单元格中的姓名列表,请按照以下步骤提取一些随机的姓名。

    1. 在B2中输入Rand公式,并将其复制到该列。

    =RAND()

  • 把下面的公式放在C2中,从A列提取一个随机值。
  • =index($a$2:$a$16, rank(b2,$b$2:$b$16), 1)

  • 将上述公式复制到你想挑选的任意数量的单元格中。 在我们的例子中,我们将公式复制到另外四个单元格(C2:C6)。
  • 就这样!五个随机的名字被提取出来,没有重复的。

    这个公式如何运作

    就像前面的例子一样,你使用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中选择随机行

    如果你的工作表包含多于一列的数据,你可以这样选择一个随机样本:给每一行分配一个随机数,对这些数字进行排序,然后选择所需的行数。 详细步骤如下。

    1. 在你的表格右边或左边插入一个新列(本例中为D列)。
    2. 在插入的列的第一个单元格中,不包括列的标题,输入RAND公式。 =RAND()
    3. 双击填充柄,将公式复制到下一列。 结果,你将有一个随机数字分配给每一行。
    4. 对随机数进行排序 最大的到最小的 (按升序排序会把列头移到表的底部,所以一定要按降序排序)。 为此,请到 数据 标签> 排序 & 筛选 Excel将自动扩大选择范围,并按随机顺序对整个行进行排序。

      如果你对你的表格的随机性不是很满意,可以再次点击排序按钮来求助于它。 详细说明,请看如何在Excel中随机排序。

    5. 最后,为你的样本选择所需数量的行,复制它们并粘贴到你喜欢的地方。

    要想仔细了解本教程中讨论的公式,欢迎下载我们的样本工作簿,了解Excel随机选择。

    如何在Excel中用随机化工具进行随机选择

    现在你知道了在Excel中获得随机样本的少数公式,让我们看看如何在鼠标点击中实现同样的结果。

    在我们的终极套件中包含了Excel的随机生成器,这里是你做什么。

    1. 选择你的表格中的任何单元格。
    2. 转到 Ablebits工具 标签> 公用事业 组,并点击 随机化 > 随机选择 :

  • 在该插件的窗格中,选择要选择的内容:随机行、随机列或随机单元格。
  • 指定所需样本量的数量或百分比。
  • 点击 选择 按钮,完成
  • 例如,我们可以这样从我们的样本数据集中随机选择5行。

    而你将在一秒钟内得到一个随机选择。

    现在,你可以按Ctrl + C复制你的随机样本,然后按Ctrl + V将其粘贴到同一个或另一个工作表中的位置。

    如果你想在你的工作表中测试随机化工具,只要抓住下面的Ultimate Suite的试用版。 如果你使用的是谷歌电子表格,你可能会发现我们的谷歌表格的随机发生器有用。

    可用的下载

    选择随机样本--公式示例 (.xlsx 文件)

    终极套房 - 试用版 (.exe文件)

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.