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

时间:2015-06-12 07:50:49

标签: 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

1 个答案:

答案 0 :(得分:1)

要获取范围内的随机整数,请使用randbetween(start,end)函数。这将在起始和结束参数之间产生随机整数。由于您的数字不是连续的,您只需将它们编入索引并使用vlookup(randbetween(startindex,endindex),...)执行查找以从表中获取随机值。

查看我创建的Example Excel File

使用以下步骤获得所需结果:

  1. 列出A列中的人员
  2. 在列G和H中创建查找表 包含您想要的结果值。
  3. 在结果列(下例中的E列)中,添加公式:=vlookup(randbetween(1,3),G:H,2,false)
  4. E列现在将包含每个人的数字7,8或10。

    如果要对此进行概括并在结果查找表中允许任意数量的不同值,则可以将E列中的公式更改为:=vlookup(randbetween(1,counta(G:G)-1),G:H,2,false)
    注意:仅当您的查找表具有标题行时才需要-1
    这将从结果查找表中的所有非空行中选择一个随机值。

    在下面的示例中,为了清楚起见,我在第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   |   |           |              |
    +---+---------+---+---+---+--------+---+-----------+--------------+