如何在Excel中随机分配给定值?

我有30个人正在等待10分的结果。我想要分配30个人中的每个人:随机的7,8或10个结果。

excel中的人们是:

A1:A30 

Excel中的随机数字

 B1, C1, D1 //Which means B1=8, C1=7 and D1=10 

随机数继续:

 E1 to E30 

要获得一个范围内的随机整数,请使用randbetween(start,end)函数。 这将在包含开始和结束参数之间产生一个随机整数。 由于你的数字不是连续的,你可以简单地为它们编制索引,并使用vlookup(randbetween(startindex,endindex),...)进行查找vlookup(randbetween(startindex,endindex),...)从表中获得一个随机值。

看看我创build的Excel文件示例 。

使用以下步骤来获得您想要的结果:

  1. 列出列A中的人员
  2. 在列G和H中创build一个包含所需结果值的查找表。
  3. 在你的结果列(下面例子中的列E)中,添加公式: =vlookup(randbetween(1,3),G:H,2,false)

E列现在将包含每个人的数字7,8或10。

如果你想概括这个,并允许结果查找表中的任意数量的不同值,你可以改变列E中的公式: =vlookup(randbetween(1,counta(G:G)-1),G:H,2,false)
注意:只有当你的查询表有一个标题行时才需要-1
这将从结果查找表中的所有非空行中select一个随机值。

在下面的例子中,我为行1添加了标题行,为了清晰起见,人们从行2开始。

 +---+---------+---+---+---+--------+---+-----------+--------------+ | | A | B | C | D | E | F | G | H | +---+---------+---+---+---+--------+---+-----------+--------------+ | 1 | Names | | | | RESULT | | Result ID | RESULT Value | +---+---------+---+---+---+--------+---+-----------+--------------+ | 2 | Person1 | | | | 7 | | 1 | 7 | +---+---------+---+---+---+--------+---+-----------+--------------+ | 3 | Person2 | | | | 7 | | 2 | 8 | +---+---------+---+---+---+--------+---+-----------+--------------+ | 4 | Person3 | | | | 10 | | 3 | 10 | +---+---------+---+---+---+--------+---+-----------+--------------+ | 5 | Person4 | | | | 8 | | | | +---+---------+---+---+---+--------+---+-----------+--------------+