Excel 随机数分配,但在预定条件下为特定组分配相同的数
我试图将随机数分配给一组项目,但我希望其中一些项目在某些常见情况下被分配相同的数字。作为一个例子,考虑一组学生的随机数将被分配。如果我想让女生得到同样的随机数,同样的男生得到同样的数字。我怎样才能做到这一点?我在excel和buch of if条件中尝试了随机函数,但未能实现我想要的。谢谢你的帮助 方法1 到目前为止,最简单的方法是将两个随机数放在单独的单元格中,并通过查找函数引用它们(也由@Scott Craner建议) 单元格Excel 随机数分配,但在预定条件下为特定组分配相同的数,excel,vba,Excel,Vba,我试图将随机数分配给一组项目,但我希望其中一些项目在某些常见情况下被分配相同的数字。作为一个例子,考虑一组学生的随机数将被分配。如果我想让女生得到同样的随机数,同样的男生得到同样的数字。我怎样才能做到这一点?我在excel和buch of if条件中尝试了随机函数,但未能实现我想要的。谢谢你的帮助 方法1 到目前为止,最简单的方法是将两个随机数放在单独的单元格中,并通过查找函数引用它们(也由@Scott Craner建议) 单元格C2中的公式为 =VLOOKUP(B2,$F$2:$G$3,2,0
C2
中的公式为
=VLOOKUP(B2,$F$2:$G$3,2,0)
方法2
如果要避免使用其他单元格,可以使用以下答案中的方法创建不同随机数的数组:
例如,由1到10之间的两个随机数组成的数组如下所示:
{=RANDBETWEEN(ROW($A$1:$A$2)^0,ROW($A$1:$A$2)^0*10)}
这两个不同的随机数需要与M
和F
匹配,因此您可以使用INDEX
和MATCH
我的设置如下:要获取随机数,需要突出显示
C2:C8
,请按F2
,然后在单元格C2
中输入以下内容:
=INDEX(RANDBETWEEN(ROW($A$1:$A$2)^0,ROW($A$1:$A$2)^0*10),MATCH(B2:B8,{"M","F"},0))
使用Ctrl+Shift+Enter键输入公式,而不仅仅是Enter键。如果操作正确,您将看到公式周围有花括号
{=INDEX(RANDBETWEEN(ROW($A$1:$A$2)^0,ROW($A$1:$A$2)^0*10),MATCH(B2:B8,{"M","F"},0))}}
注意如果您想要获得类似于
RAND
函数的随机数,您可以执行类似于randbween(1100000)/100000的操作
=INDEX(RANDBETWEEN(ROW($A$1:$A$2)^0,ROW($A$1:$A$2)^0*100000)/100000,MATCH(B2:B8,{"M","F"},0))
姓名在A列中,性别在B列中,在E1和E2列中输入:
=RAND()
=IF(B1="F",$E$1,$E$2)
在C1中输入:
=RAND()
=IF(B1="F",$E$1,$E$2)
并抄写:
这只是一个示例,演示如何使相同的随机数重复。您可以发布您尝试过的内容以及错误所在吗?将随机数放在另一个位置、vba中的变量或excel中的表格中。然后,您可以使用vlookup,使用excel函数或循环将该数字指定给列表,并从vba中的变量中指定值。但堆栈溢出并不是一种代码为我服务。请说明您尝试了什么以及哪里出了问题。这个问题太宽泛了。