excel 如何出隨機數字

2007-08-22 4:46 pm
請問如何以excel隨機抽出一組字元或數字作為password,請問如何編寫?
更新1:

如果password要有文字char在內呢?

回答 (3)

2007-08-23 12:29 am
✔ 最佳答案
由于考慮到Password不會是一個位, 可能是 6 - 12 位, 甚至更多
如用公式串連, 公式會非常長, 難以應用。
故建議用VBA 自訂函數, 代碼是:
Function PWX(dgt As Integer) As String
x = "0123456789abcdefghijklmnopqrstuvwxyz"
For i = 1 To dgt
pw = pw & Mid(x, Int(Rnd() * Len(x) + 1), 1)
Next
PWX = pw
End Function

在任何一格輸入:
=pwx(12)
馬上會顯示 1個 12位的password
=pwx(18)
馬上會顯示 1個 18位的password

如有部份數字/字母不想出現, 如 數字0,1,4; 字母 I, l, o z 等, 可在代碼中的x值內刪除
亦可重覆一些喜愛的字符, 增加其概率

如不懂VBA 或 password 只是一個位 或位數不多
建議 插入, 名稱, 定義
現有名稱輸入:pwy
參照到輸入: =mid("0123456789abcdefghijklmnopqrstuvwxyz",int(rand()*36+1),1)
在任何一格輸入:
=pwy
馬上會顯示 1個 1位的password
=pwy&pwy&pwy
馬上會顯示 1個 3位的password
參考: 原創
2007-08-22 8:07 pm



隨機選出一個數字或小寫英文字母的式子如下,只要把這式子用&算符串聯,就可做出多於一個字元的隨機字串:







=CHAR
(
IF
(
ROUND(RAND(),0),
CODE("0")+INT(RAND()*10),
CODE("a")+INT(RAND()*26)
)
)






如要包括大寫英文字母,可以把上式改成這樣子,再用&算符串聯來做出多於一個字元的隨機字串:







=CHAR
(
CHOOSE
(
INT(RAND()*3)+1,
CODE("0")+INT(RAND()*10),
CODE("a")+INT(RAND()*26),
CODE("A")+INT(RAND()*26)
)
)






注意:試算表每更新一次,式子會重新計算一次,產生一個新的隨機字串。


參考: 個人經驗
2007-08-22 5:12 pm
=RAND() 呢個function可以出到一個隨機數, 範圍係由0至1
如果你想個password係4個位, 咁你咪將個set數乘10000
再將佢地4捨5入左佢, =ROUND(數位,0)
希望幫到你


收錄日期: 2021-04-18 23:23:15
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070822000051KK00848

檢視 Wayback Machine 備份