Excel函数输入随机不重复数值


A1 单元格中输入随机函数
=RANDBETWEEN(1,10)
此函数将在 1 10 之间随机提取 1 个整数。
 
A2 单元格输入
={LARGE(IF(COUNTIF($A$1:A1,ROW($1:$10)),,ROW($1:$10)),RANDBETWEEN(1,10-ROW(A1)))}
此函数为随机不重复的重要部分
注:{……}这个括号是同时安Ctrl+Shift+Enter获得的数组公式形式,无需输入。
 
A1 单元格的随机函数得出的值为 8
1
COUNTIF($A$1:A1,ROW($1:$10)
部分将提示 A1 单元格数字在 ROW($1:$10) 数组即 {1;2;3;4;5;6;7;8;9;10} 中的位置。则 COUNTIF($A$1:A1,ROW($1:$10) 获得的数组为 {0;0;0;0;0;0;0;1;0;0}
 
2
IF(COUNTIF($A$1:A1,ROW($1:$10)),,ROW($1:$10))
部分根据以前 COUNTIF 获得的数组,计算获得 {1;2;3;4;5;6;7;0;9;10}
 
3
RANDBETWEEN(1,10-ROW(A1))
此时计算获得 RANDBETWEEN(1,{10}) ,随机产生 1 10 的数据。
 
3
LARGE(array,k)
函数此时将 IF 函数计算获得 {1;2;3;4;5;6;7;0;9;10} RANDBETWEEN 函数获得的随机数代入;

按住Ctrl+Shift+Enter输入为数组,就获得一个 1 10 且除 A1 单元格 8 之外的数值。

A3:A10单元格由A2拖拉公式能够获得。
 
A3单元格
 
相关文章
相关标签/搜索