excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel数组公式:生成随机不重复整数

今天分享一个好玩的数组公式:通过Large+Countif+Randbetween+If函数生成随机不重复的整数。

如下图所示,随机生成1-10的不重复数,在A2单元格输入任意1到10的数字,在A3单元格输入公式并向下填充:=LARGE(IF(COUNTIF($A$2:A2,ROW($A$1:$A$10))=0,ROW($A$1:$A$10)),RANDBETWEEN(1,10-ROW(A1)))。

ROW($A$1:$A$10):返回一个数组,包含从1到10的数字;

COUNTIF($A$2:A2,ROW(...)):计算从$A$2到当前单元格(动态的,从A2到A10)的范围内每个数字,在上述数组中出现的次数,如$A$2到A2单元格8出现的次数{0,0,0,0,0,0,0,1,0,0},$A$2到A3单元格8和3出现的次数{0,0,1,0,0,0,0,1,0,0},1表示已生成的数字,0表示未生成的数字;

IF(COUNTIF(...)=0,ROW(...)):如果某个数字从$A$2到当前单元格范围内尚未出现,则IF函数返回该数字,否则返回空字符串,这个公式创建了一个只包含尚未生成的数字的数组,如$A$2到A2的数组{1,2,3,4,5,6,7,FALSE,9,10},$A$2到A3的数组{1,2,FALSE,4,5,6,7,FALSE,9,10};

RANDBETWEEN(1,10-ROW(A1)):RANDBETWEEN函数生成一个介于1和10-ROW(A1)之间的随机数,10-ROW(A1)往下填充的结果是9,8,7,6,5,4,3,2,1;

LARGE(IF(...), RANDBETWEEN(...)):LARGE函数返回数组中第k大的值,其中k是RANDBETWEEN函数生成的随机数,这个公式表示从未生成的数字里随机生成一个。

希望这篇文章对你有帮助,您的点赞和收藏是我持续更新文章的最大动力,感谢您的支持。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接