在
A1
单元格中输入随机函数
此函数将在
1
至
10
之间随机提取
1
个整数。
=RANDBETWEEN(1,10)
A2
单元格输入
此函数为随机不重复的重要部分
={LARGE(IF(COUNTIF($A$1:A1,ROW($1:$10)),,ROW($1:$10)),RANDBETWEEN(1,10-ROW(A1)))}
注:{……}这个括号是同时安Ctrl+Shift+Enter得到的数组公式形式,无需输入。
如
A1
单元格的随机函数得出的值为
8
:
(
1
)
部分将提示
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}
COUNTIF($A$1:A1,ROW($1:$10)
(
2
)
部分根据之前
COUNTIF
得到的数组,计算得到
{1;2;3;4;5;6;7;0;9;10}
IF(COUNTIF($A$1:A1,ROW($1:$10)),,ROW($1:$10))
(
3
)
此时计算得到
RANDBETWEEN(1,{10})
,随机产生
1
到
10
的数据。
RANDBETWEEN(1,10-ROW(A1))
(
3
)
函数此时将
IF
函数计算得到
{1;2;3;4;5;6;7;0;9;10}
、
RANDBETWEEN
函数得到的随机数代入;
LARGE(array,k)
按住Ctrl+Shift+Enter输入为数组,就得到一个
1
至
10
且除
A1
单元格
8
以外的数值。
A3:A10单元格由A2拖拉公式可以得到。
A3单元格
A3单元格
本文转自 kirin 51CTO博客,原文链接:http://blog.51cto.com/kirin/1118577 ,如需转载请自行联系原作者