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

=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难题,我们一起探讨,关注我,不迷路!
夜雨聆风