在 Excel 中随机化列表

17 Mar 2025 | 5 分钟阅读

排序是一项重要功能,有助于创建各种算法。由于其令人难以置信的用途,Microsoft Excel 提供了其他排序选项,包括升序或降序排序、颜色排序以及自定义排序。但是,它不提供一项重要的排序功能,即随机排序。在处理 Excel 时,会出现需要随机化数据的情况,例如彩票中奖、夜班分配等;在这些情况下,随机排序选项非常方便。

在本教程中,我们将介绍使用 Excel 内置函数 RAND()、RANDARRAY() 和 SORTBY() 以及它们在 Excel 中的分步实现,从而实现多种不同的随机排序选项。

使用 RAND() 公式在 Excel 中随机排序

尽管在 Excel 中随机排序列表是一项重要功能,但 Excel 中没有内置函数来执行此操作。但是,我们可以创建自己的公式来生成随机数。在这里,我们可以利用内置的 RAND 函数来合并此功能。RAND() 函数在选定的单元格中返回一个自动生成的随机数。

语法

RAND()

注意:每次工作表中的单元格被重新计算时,都会生成一个新的随机数。

在下图中,我们在 A 列中有一个姓名列表。如果我们想随机化此列表并自动设置姓名顺序,该怎么办?

Randomize a list in Excel

下面是生成随机数的分步实现,这些随机数将自动随机化上述列表。

步骤 1:插入辅助列

在 A 列旁边添加一个新列。我们将在该列中应用随机化公式。但是,如果您的数据集只包含一列,请跳过此步骤。

Randomize a list in Excel

步骤 2:应用 RAND() 函数

接下来,我们将合并 Excel 中的内置 RAND() 函数。RAND() 函数会在 Excel 工作表中创建随机数。

在公式开头输入 =,然后输入 RAND() 函数。按 Enter 键,它将自动生成一个随机数。

Randomize a list in Excel

步骤 3:将公式向下复制到单元格。

将公式向下拖动到列以将其复制到单元格。最快的方法是双击填充柄。

Randomize a list in Excel

步骤 4:按顺序对姓名进行排序

接下来,我们将对我们最近填写的随机数辅助列进行升序排序。(如果需要,您也可以按降序对数字进行排序。但问题是它会将列标题移到表格的底部,这并不理想)。

  • 选择辅助列中的任意数字
  • 在 Excel 功能区中,**点击“开始”选项卡 > “编辑”组,然后点击“排序和筛选”**。
  • 从弹出列表中,我们将**选择“Z 到 A 排序”选项,因为我们想按从大到小的顺序对数字进行排序**。
Randomize a list in Excel

步骤 5:Excel 将生成随机数。

结果,Excel 将自动扩展您的选择,并对 A 列中指定的姓名列表进行排序。

请参考以下屏幕截图。

Randomize a list in Excel

注意事项

  1. Excel 的 RAND() 是一个易失性函数。每次工作表中的单元格被**重新计算时,都会生成一个新的随机数**。因此,如果您对自动随机数函数不满意,这是一个不错的选择。只需不断点击排序按钮,直到获得最佳输出。
  2. 由于我们使用的是 RAND() 函数,因此每次更改工作表时它都会生成一个随机数。为了防止随机数重新计算整个工作表,只需复制随机数并使用“选择性粘贴”功能将其粘贴为值。
  3. 使用相同的公式,您可以随机化多个列。要完成此操作,请将多个列并排放置,使其 contiguous,然后执行上述步骤。

使用多个函数进行随机化

Excel 提供了多种执行任务的方法。如果您使用的是 Excel 365 或 Excel 2021 版本,您可以合并 RANDARRAY()、SORTBY() 和 ROWS() 函数来随机化 Excel 工作表中的列表。下面是生成随机数的分步实现,这些随机数将自动随机化上述列表。

步骤 1:使用 RANDARRAY 生成数字

第一步是使用 RANDARRAY 函数。此函数在 0 到 1 之间生成一个十进制随机数列表。下面的数组包含 8 行和 1 列。

公式:=RANDARRAY (8,1)

Randomize a list in Excel

注意:在单元格 B1 中输入的 RANDARRAY 函数会填充多个单元格。太棒了!Excel 365/2021 中自动填充数据的此功能称为“溢出”。

步骤 2:将生成随机数

结果,Excel 将生成一个随机数列表。您将获得以下输出。

Randomize a list in Excel

步骤 3:使用 SORTBY 函数对列表进行排序

在同一公式中,我们将引入另一个名为 SORTBY 的函数。内置的 SORTBY 函数用于根据给定的数组值对指定范围的内容进行排序。默认情况下,SORT 函数按升序排序。

使用的公式:=SORTBY (A2:A9,B2:B9)

您将获得以下输出

Randomize a list in Excel

步骤 4:将 RANDARRAY 函数合并到 SORTBY 中

到目前为止,我们已经在工作表的不同位置应用了两个不同的公式。如果我们将其合并到一个公式中会怎样?请参考下面的公式。

使用的公式:=SORTBY(A2:A9,RANDARRAY(8,1))

Randomize a list in Excel

结果,RANDARRAY 函数将生成一个随机数列表,然后 SORTBY 将使用相应的数组值对选定的姓名进行排序。上述公式将随机化列表,并将不同的行按升序排序。

它将返回以下输出

Randomize a list in Excel

如果您有一个更长的列表,例如 20 个姓名,请将上述公式中的数字 8 更改为 20,或者更好的是,使用 ROWS 函数。

使用的公式:=SORTBY (A2:A9,RANDARRAY(20,1))

注意:ROWS 函数只需计算范围中的行数。

我们几乎涵盖了所有可以帮助您在 Excel 工作表中随机化列表的内容。继续实现相同的函数和公式来生成随机数列表。


下一个主题Excel 状态栏