如何创建依赖于主列表的随机单词列表?

如何创建依赖于主列表的随机单词列表?

我使用的是 Mac 2011 版 Excel

对于一个语言学项目,我想做以下事情。我将有一个像这样的单词表(实际上它会大得多):

主列表:

  1. 磁铁
  2. 苹果

首先,我将单词复制并粘贴到新工作表中。然后,我在相邻列中创建随机数(使用 RAND)。为了获得随机列表,我使用 SORT,按随机创建的数字的值对单词列表进行排序。

  1. 袋子.011234123
  2. 腿 .001324234
  3. 磁铁 .01324243
  4. 苹果 .013245588
  5. 口香糖.0123412341

按数字列排序

这让我:::

随机化 1:

  1. 磁铁
  2. 苹果

我将进行多次随机化。假设我想更改一个单词。有没有办法让随机化取决于主列表?也就是说,如果我对主列表进行更改(更改一个单词),有没有办法让这些更改也应用于我的随机化?

答案1

我可以建议使用 RAND()、RANK() 和 VLOOKUP() 的组合的解决方案:

首先,创建您的主列表:

在此处输入图片描述

然后添加一个使用以下命令生成随机数的列RAND()

在此处输入图片描述

然后,使用 RANK() 对这些随机数进行排序的列:=RANK(E2,E:E)

在此处输入图片描述

最后,使用 ROW() 和 VLOOKUP() 返回排序后的排名:=VLOOKUP(ROW()-1,C:D,2,0)

在此处输入图片描述

您添加到主列表的任何单词都会导致每个 RAND() 重新计算,从而改变排名,本质上创建一个新的随机顺序。

在此处输入图片描述

对您需要的三个随机列表重复此操作三次。

在此处输入图片描述

答案2

假设您的数据在 Sheet1 上从 A1 开始,并按 B 列(随机数)排序,请从第 1 行开始输入此公式,然后自动向下填充:

=INDEX(Sheet1!A$1:A$6,ROW())

它只是用来在向下填充时ROW()增加row_num参数。INDEX()

或者,如果您不想排序,请尝试以下公式:

=INDEX(Sheet1!A$1:A$6,MATCH(LARGE(Sheet1!B$1:B$6,ROW()),Sheet1!B$1:B$6,0))

这个比较有趣。再次使用ROW()自动递增,它用于LARGE()查找下一个最大的随机数,然后INDEX/MATCH返回该位置的单词。

请记住,这RAND()是不稳定的,这意味着每次计算工作表时它都会重新计算。如果您要使用此方法,我建议使用手动计算。

相关内容