EXCEL生成(0—9)6位不重复的随机数?

我想生成6为密码,不要重复的,现在用这个公式
=MID("0123456789",INT(RAND()*10)+1,1)&MID("0123456789",INT(RAND()*10)+1,1)&MID("0123456789",INT(RAND()*10)+1,1)&MID("0123456789",INT(RAND()*10)+1,1)&MID("0123456789",INT(RAND()*10)+1,1)&MID("0123456789",INT(RAND()*10)+1,1)

出来有重复的。

第1个回答  2012-06-02
使用VBA做吧,简单快捷:
--------------
Sub Macro1()
Dim d, i, m, n, tmp
Set d = CreateObject("Scripting.Dictionary")
For i = 0 To 9
d(i) = ""
Next
tmp = d.Keys
For i = 0 To 5
Randomize
m = Int(Rnd * (10 - i))
n = n & tmp(m)
d.Remove tmp(m)
tmp = d.Keys
Next
' MsgBox n
Range("A1") = n
End Sub本回答被提问者和网友采纳
第2个回答  2012-05-26
麻烦一点
首先 A1输入公式 =RAND() 向下填充到 10
B1输入公式 =RANK(A1,A$1:$a$10)-1
向下填充到B6即可

那就将B1公式修改为
=LEFT(SUMPRODUCT((RANK($A$1:$A$7,$A$1:$A$10)-1)*10^(7-ROW($1:$7))),6)
相似回答