我有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
答案 0 :(得分:1)
要获取范围内的随机整数,请使用randbetween(start,end)
函数。这将在起始和结束参数之间产生随机整数。由于您的数字不是连续的,您只需将它们编入索引并使用vlookup(randbetween(startindex,endindex),...)
执行查找以从表中获取随机值。
查看我创建的Example Excel File。
使用以下步骤获得所需结果:
=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
。
这将从结果查找表中的所有非空行中选择一个随机值。
在下面的示例中,为了清楚起见,我在第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 | | | |
+---+---------+---+---+---+--------+---+-----------+--------------+