在Excel表格中按列值分组的随机数?

时间:2019-04-05 18:46:15

标签: excel random excel-formula

我正在寻找一种在Excel表中生成随机数(按列值之一分组)的方法。在下面的示例表中,每个人都会获得分配给他们的随机数。我不能单独使用RAND()函数,因为那样会给每一行一个随机数。该怎么办?

╔════════╦══════╦═════════╗
║ PERSON ║ YEAR ║ RANDOM  ║
╠════════╬══════╬═════════╣
║ Bob    ║ 2017 ║ .012345 ║
╠════════╬══════╬═════════╣
║ Alice  ║ 2017 ║ .444444 ║
╠════════╬══════╬═════════╣
║ Jerry  ║ 2018 ║ .272727 ║
╠════════╬══════╬═════════╣
║ Alice  ║ 2018 ║ .444444 ║
╠════════╬══════╬═════════╣
║ Bob    ║ 2018 ║ .012345 ║
╠════════╬══════╬═════════╣
║ Alice  ║ 2019 ║ .444444 ║
╚════════╩══════╩═════════╝

1 个答案:

答案 0 :(得分:1)

这里是执行此操作的一种方法:

enter image description here

C2中使用的公式转换为:

=IF(COUNTIF($A$2:A2,A2)=1,RAND(),INDEX($C$1:C1,MATCH(A2,$A$1:A1,0)))

如果我可以提出其他建议,则可能会冒用RAND()进行重复的风险,但是如果您用ROW()替换该部分,则它将始终是唯一的。