=INT(RAND()*33)
用VBA比较容易实现,公式有难度
可以用公式模拟
A1输入=rand(),填充到A33
B1输入=RANK(A1,A$1:A$33),填充到B33。
B1是第一个随机数,B2是第二个,B3.。。。B33是第33个随机数。
A2中输入
=LARGE(IF(COUNTIF(A$1:A1,ROW($1:$33))=0,ROW($1:$33)),RANDBETWEEN(1,35-ROW()))
输入后同时按下ctrl+shift+enter输入数组公式,再用自动填充柄下32行,就行了,就是RANDBETWEEN函数在03版中要安装加载项,在07版中可以直接用了。
再修改一下吧,可以适用于2003版
=LARGE(IF(COUNTIF(A$1:A1,ROW($1:$33))=0,ROW($1:$33)),ROUNDUP((35-ROW())*RAND(),))
同样是三键齐按的数组公式。
就是有一点注意,上述两个公式都利用了A1作为辅助区域,所以A1中不得输入数字,输入文本没有关系。