如何在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文件示例 。
使用以下步骤来获得您想要的结果:
- 列出列A中的人员
- 在列G和H中创build一个包含所需结果值的查找表。
- 在你的结果列(下面例子中的列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 | | | | +---+---------+---+---+---+--------+---+-----------+--------------+