Excel生成随机数:重复数据对应相同随机数,无其他重复值
解决Excel中重复原始数据对应唯一随机数的问题
针对75000+条记录的数据集,要实现「重复原始数据对应相同随机数、不同原始数据随机数唯一」的需求,推荐两种高效方案:
方法1:公式组合实现
假设原始数据在A列(含表头),目标随机数列在B列:
- 提取唯一值:在空白列(如C2)输入公式
=UNIQUE(A:A),生成所有不重复的原始数据列表。 - 生成唯一随机数:在D2输入公式
=RANDARRAY(ROWS(C:C),1,1,1000000,TRUE),给每个唯一值分配不重复的整数随机数(1和1000000为随机数范围,可自行调整;TRUE改为FALSE可生成小数)。 - 匹配回原始数据:在B2输入公式
=VLOOKUP(A2,$C:$D,2,FALSE),下拉填充至所有行,完成匹配。
注意:生成随机数后,选中D列右键→「粘贴为值」,避免Excel自动刷新随机数。
方法2:Power Query高效处理(适配大数据量)
Power Query对十万级数据处理更流畅,步骤如下:
- 选中原始数据列,点击「数据」选项卡→「从表格/区域」,确认数据含表头,进入Power Query编辑器。
- 点击「添加列」→「自定义列」,输入公式
=List.Random(1, 1, 1000000){0},生成单值随机数。 - 点击「转换」→「分组依据」,设置:
- 分组依据:选择原始数据列名
- 新增聚合列:列名设为「唯一随机数」,操作选「最大值」(同一组随机数一致,取最大/最小不影响结果),列选刚生成的自定义随机数列
- 点击分组结果中的「所有行」列展开箭头,保留原始数据列和「唯一随机数」列,最后点击「关闭并上载」,将结果导出到Excel。
内容的提问来源于stack exchange,提问作者Lyndsey
相关产品推荐
相关产品推荐

