excel高手请进 选出随即数目且不重复

来源:百度知道 编辑:UC知道 时间:2024/07/16 06:18:21
设置6个函数,使它在1-33之间随机出现,后一个数值不得大于前一个数值,且不能与前一个数值重复。
我知道随机怎么编,但如何排除已经出现过的数值,并且让它们按从小到大排列?
如:
1 3 4 5 7 8
这样。

请高手指点!
注:1、数值随机
2、所有数值不得重复,且为1-33之间的自然数
3、能从左到右按大小排列最好
二楼的答案很好哈
但是还是有问题 运用 了countif 函数还是 有重复的阿
这个逻辑有点不对样 一楼直接 就不行的

1、“=RAND()”,这是返回一个大于0,小于1的随机数,你可以设置这个数乘以一个常数。如,我要一个在10000以内的随机数,可设置为“=RAND()*10000”。

2、“=RANDBETWEEN(1,33)”这是设置为1-33之间的随机自然数。

Bottom 函数 RANDBETWEEN 将返回的最小整数。

Top 函数 RANDBETWEEN 将返回的最大整数。

如果要设置数值不能重复,这个你需要抽取两次才能实现。

我在6个单元格里(如A1:F1)使用了randbetween(1,33), 随机抽取了1-33之间的任意数,在C1显示结果

=IF(COUNTIF($A$1:$F$1,A1)=1,IF($G$1=1,RANDBETWEEN(1,33),C1),RANDBETWEEN(1,33))

G1为控制格,当在G1输入数字1,就开始变。变化后的数据有可能不惟一了,怎么办?把1清除即可

3、假定有大量的数据(数值),需要将每一行按从大到小排序,如何操作?由于按行排序与按列排序都是只能有一个主关键字,主关键字相同时才能按次关键字排序。所以,这一问题不能用排序来解决。解决方法如下:
1、假定你的数据在A至E列,请在F1单元格输入公式:
=LARGE($A1:$E1,COLUMN(A1))
用填充柄将公式向右向下复制到相应范围。
你原有数据将按行从大到小排序出现在F至J列。如有需要可用“选择性粘贴/数值”复制到其他地方。
注:第1步的公式可根据你的实际情况(数据范围)作相应的修改。如果要从小到大排序,公式改为:=SMALL($A1:$E1,COLUMN(A1))

我来回答一下,A1=INT(RBND()*32+1),B1=INT(RAND()*(33-A1)+A1,把B1的公式填充到F1。