随机选择一个姓氏: =INDEX(姓氏列表, RANDBETWEEN(1,COUNTA(姓氏列表))) 随机选择一个名字: =INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表))) 随机选择一个不同于第二个名字的名字:=INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)-1+MATCH(B2&C2,名字列表&" "&名字列表,0))) 如果第二个和第三个名字相同,则重新随机选择第三个名字:=IF(C2=D2,INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)-1+MATCH(B2&C2,名字列表&" "&名字列表,0))),D2)能不能组合一起
时间: 2023-10-04 09:08:38 浏览: 45
当然可以将这些公式组合起来,如下所示:
=INDEX(姓氏列表, RANDBETWEEN(1,COUNTA(姓氏列表)))&INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)))&IF(INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)))=INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)-1+MATCH(RIGHT(A1),名字列表,0)&INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)))),INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表)-1+MATCH(RIGHT(A1),名字列表,0)&INDEX(名字列表,RANDBETWEEN(1,COUNTA(名字列表))))))
其中,A1是用于存储姓名的单元格,RIGHT(A1)用于获取名字中的最后一个字,MATCH(RIGHT(A1),名字列表,0)用于查找名字列表中最后一个字的位置。公式分成了三部分,第一部分用于随机选择一个姓氏,第二部分用于随机选择一个名字,第三部分用于随机选择另一个不同于第二个名字的名字,并确保第三个名字不与第二个名字重复。
请注意,这个公式假定名字列表中没有重复的名字。如果名字列表中有重复的名字,这个公式可能会出现错误。
相关问题
在患者表中的A列随机抽取一个
你可以使用Excel的随机数函数和索引函数来在患者表的A列中随机抽取一个单元格的值。以下是一个可能的方法:
1. 在另一个单元格中输入以下公式:=INDEX(A:A,RANDBETWEEN(1,COUNTA(A:A)))。这将从A列中随机选择一个非空单元格的值。
2. 将该单元格的格式设置为所需的格式,以呈现所需的值格式。
你可以将这个公式应用于需要随机抽取患者表中A列的单元格的单元格中,以每次生成一个随机的值。请注意,如果A列中有空单元格,则可能会生成空值。
在患者表中的A列随机抽取一个值excel
好的,以下是在 Excel 中实现该功能的步骤:
1. 打开患者表,在 A 列中选中所有需要抽取的值。
2. 在公式栏中输入以下公式,然后按下回车键:
```
=INDEX(A:A,RANDBETWEEN(1,COUNTA(A:A)))
```
其中 `A:A` 是需要抽取的列,`COUNTA(A:A)` 是该列中非空单元格的数量,`RANDBETWEEN(1, COUNTA(A:A))` 会生成一个介于 1 和非空单元格数量之间的随机整数,该整数会作为 `INDEX` 函数的第二个参数,从而随机返回该列中的一个值。
3. 按下 Ctrl + Enter 键,将该公式应用到选中的所有单元格中。
4. Excel 会随机返回该列中的一个值。
需要注意的是,该方法只能在选中的单元格中随机抽取值,如果需要在其他单元格中使用该值,需要手动复制粘贴。另外,该方法只能在包含公式的单元格中随机抽取值,如果需要在 VBA 等其他环境中使用该值,需要使用 VBA 或其他编程语言实现。