乐于分享
好东西不私藏

excel如何随机生成指定范围内不重复的数字

excel如何随机生成指定范围内不重复的数字

     工作和生活中,我们经常需要随机生成一定范围内不重复的数字,比如随机生成1-100或1-50或其他范围内不重复的数字,并按大小进行排列,下图是我用excel函数制作的随机生成1-100的不重复数据。
     从动态图,大家可以看到,当点击刷新时,会生成不重复的随机数据,并从小到大进行排列,主要用到的公式如下,大家可以直接复制使用

                                    =IF($K$3=”刷新”,TRANSPOSE(SORT(TRANSPOSE(INDEX(SORTBY(SEQUENCE(1,100),RANDARRAY(1,100)),SEQUENCE(1,4))),,1)),””)

       这个公式比较复杂,具体含义稍后讲解,咱们先学怎么应用,具体如下图,如果想生成1-50的随机数,则可以按照下图说明进行对于修改即可。

 这个公式的具体含义如下

一、IF函数

   先用了IF假设,即如果$K$3单元格如果等于“刷新”那么就执行后面的函数生成随机数,否则就为空值””。  

二、核心层:生成乱序随机数

INDEX(SORTBY(SEQUENCE(1,100),RANDARRAY(1,100)),SEQUENCE(1,4))

  • SEQUENCE(1,100):生成横向数组 {1,2,3,…,100}。

  • RANDARRAY(1,100):生成对应的随机小数数组,作为排序依据。

  • SORTBY(…, …):根据随机小数打乱顺序,得到 1-100 的乱序横向数组。

  •   INDEX(…, SEQUENCE(1,4)):从乱序数组中截取前 4 个数,得到 4 个不重复的随机数(例如 {26, 61, 65, 25})。

三、排序层

  •   第一个转置函数TRANSPOSE,主要目的是将数据从横向排列转为纵向排列,目的是方便排序函数SORT进行从小到大排列。

  • SORT(…, ,1),该函数主要目的是对纵向排列的数据进行升序排列,1= 升序(从小到大),-1= 降序(从大到小)。

  • 第二个转置函数TRANSPOSE再将排好序的纵向数字转为横向数字。

四、刷新选项

     主要操作步骤如下图

   即先选择K3单元格,然后选择 菜单栏 数据—数据验证—-设置—-选择序列—-在来源处输入 刷新、清空—–点击确定,即可。

      总结:这个函数组合还是比较复杂的,即使看不懂也不影响咱们应用,直接复制粘贴该公式组合就能用,只要知道基本的修改方法就可以灵活运用了。

         以上就是今天的全部内容,希望能对你有所帮助,后期老齐还会出更多数据统计、分析、处理等技巧的文章,感谢大家的阅读和支持,关注我,带你学习更多实用技巧。欢迎在评论区留言,分享你遇到的excel难题,我们一起探讨,关注我,不迷路!