Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3445|回复: 10

[已解决]请教如何生成不重复的5个数字组合

[复制链接]
发表于 2017-8-24 10:53 | 显示全部楼层 |阅读模式
本帖最后由 kevinpj 于 2017-8-24 13:41 编辑

随机生成一个5位的数字(0~9),每个位都互相不重复,生成之后最好不要变来变去,不知道高手们有没有办法做到,谢谢了!!!
用此公式【=INT(RAND()*100000)】生成的数字会随时变动,且重复。


2017-08-24_001.jpg

“望帝春心”和“苏子龙”二位的方法都可以,都是高手!感谢二位!
最佳答案我只能二选一,就选最先回复的“苏子龙”吧!
最佳答案
2017-8-24 12:46
kevinpj 发表于 2017-8-24 12:18
非常感谢!
只 是我对VBA不懂,还请麻烦告知我如何调用
我已经复制粘贴过去了:

插入图片等,右键--选择对应的宏--按下图片就可以运行了,或者在vba编辑里面,按向右的播放样的三角形就好了
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-8-24 11:48 | 显示全部楼层
  1. Sub tt()
  2.     Dim ar(9), i%, n%, str$
  3.     Randomize
  4.     For i = 1 To 10
  5.         str = "": Erase ar
  6.         Do While Len(str) < 5
  7.             n = Int(Rnd() * 10)
  8.             If ar(n) = "" Then
  9.                 ar(n) = n
  10.                 str = str & n
  11.             End If
  12.         Loop
  13.         Cells(i, 1) = "'" & str
  14.     Next
  15. End Sub
复制代码

刚才朋友那里看到类似的,试试这样行吗

评分

参与人数 2 +31 金币 +30 收起 理由
1932leo + 1 ar(n)用得好!
望帝春心 + 30 + 30 来学习

查看全部评分

回复

使用道具 举报

发表于 2017-8-24 12:16 | 显示全部楼层
  1. =TEXT(SUM(RIGHT(SMALL(--(10^RANDBETWEEN(ROW(1:10)^0,9)&ROW(1:10)-1),ROW(1:5)))*10^(5-ROW(1:5))),"00000")
复制代码
数组公式

评分

参与人数 1 +20 金币 +20 收起 理由
lisachen + 20 + 20 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-8-24 12:18 | 显示全部楼层
苏子龙 发表于 2017-8-24 11:48
刚才朋友那里看到类似的,试试这样行吗

非常感谢!
只 是我对VBA不懂,还请麻烦告知我如何调用
我已经复制粘贴过去了:

2017-08-24_002.jpg
回复

使用道具 举报

 楼主| 发表于 2017-8-24 12:23 | 显示全部楼层

不够完美,不过还是很感谢你!0会重复出现,而且会变来变去,再有就是下拉时只有5行,第6行起就会显示#NUM!

回复

使用道具 举报

发表于 2017-8-24 12:28 | 显示全部楼层
kevinpj 发表于 2017-8-24 12:23
不够完美,不过还是很感谢你!0会重复出现,而且会变来变去,再有就是下拉时只有5行,第6行起就会显示#NU ...
  1. =TEXT(SUM(RIGHT(SMALL(--(10^RANDBETWEEN(ROW($1:$10)^0,9)&ROW($1:$10)-1),ROW($1:$5)))*10^(5-ROW($1:$5))),"00000")
复制代码
你没说要下拉啊,以为只在一个单元格生成呢

评分

参与人数 1 +12 收起 理由
苏子龙 + 12 66666

查看全部评分

回复

使用道具 举报

发表于 2017-8-24 12:30 | 显示全部楼层
kevinpj 发表于 2017-8-24 12:23
不够完美,不过还是很感谢你!0会重复出现,而且会变来变去,再有就是下拉时只有5行,第6行起就会显示#NU ...
  1. 回重了
复制代码
回复

使用道具 举报

发表于 2017-8-24 12:34 | 显示全部楼层

新手还是用这个吧,三键结束都不知道=TEXT(SUMPRODUCT(RIGHT(SMALL(--(10^RANDBETWEEN(ROW($1:$10)^0,9)&ROW(3:12)-1),ROW($1:$5)))*10^(5-ROW($1:$5))),"00000")
回复

使用道具 举报

发表于 2017-8-24 12:46 | 显示全部楼层    本楼为最佳答案   
kevinpj 发表于 2017-8-24 12:18
非常感谢!
只 是我对VBA不懂,还请麻烦告知我如何调用
我已经复制粘贴过去了:

插入图片等,右键--选择对应的宏--按下图片就可以运行了,或者在vba编辑里面,按向右的播放样的三角形就好了

随机5位数.zip

139.81 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2017-8-24 13:31 | 显示全部楼层
苏子龙 发表于 2017-8-24 12:46
插入图片等,右键--选择对应的宏--按下图片就可以运行了,或者在vba编辑里面,按向右的播放样的三角形就 ...

谢谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 09:35 , Processed in 0.479009 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表