Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 随机数分配,但在预定条件下为特定组分配相同的数_Excel_Vba - Fatal编程技术网

Excel 随机数分配,但在预定条件下为特定组分配相同的数

Excel 随机数分配,但在预定条件下为特定组分配相同的数,excel,vba,Excel,Vba,我试图将随机数分配给一组项目,但我希望其中一些项目在某些常见情况下被分配相同的数字。作为一个例子,考虑一组学生的随机数将被分配。如果我想让女生得到同样的随机数,同样的男生得到同样的数字。我怎样才能做到这一点?我在excel和buch of if条件中尝试了随机函数,但未能实现我想要的。谢谢你的帮助 方法1 到目前为止,最简单的方法是将两个随机数放在单独的单元格中,并通过查找函数引用它们(也由@Scott Craner建议) 单元格C2中的公式为 =VLOOKUP(B2,$F$2:$G$3,2,0

我试图将随机数分配给一组项目,但我希望其中一些项目在某些常见情况下被分配相同的数字。作为一个例子,考虑一组学生的随机数将被分配。如果我想让女生得到同样的随机数,同样的男生得到同样的数字。我怎样才能做到这一点?我在excel和buch of if条件中尝试了随机函数,但未能实现我想要的。谢谢你的帮助

方法1 到目前为止,最简单的方法是将两个随机数放在单独的单元格中,并通过查找函数引用它们(也由@Scott Craner建议)

单元格
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中的变量中指定值。但堆栈溢出并不是一种代码为我服务。请说明您尝试了什么以及哪里出了问题。这个问题太宽泛了。