Jen*_*ang 12 string-manipulation microsoft-excel
我想从 Excel 中的字母表中创建一个随机长度的随机字符串。例如,“jlskdjf”、“kjlk”、“kljsodif”等。我该怎么做?
wil*_*son 15
假设您要从小写字母 (az) 生成随机长度(1-8 个字符)的字符串。
=LEFT( CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97),
RAND()*8+1)
Run Code Online (Sandbox Code Playgroud)
每个CHAR(...)
生成 1 个随机小写字母。
要使用大写字母 (AZ) 而不是小写字母,您可以替换CHAR(RAND()*26+97)
为CHAR(RAND()*26+65)
. 因为AZ的ASCII码是65-90,az的ASCII码是97-122。
为了简单的公式,你可以使用RANDBETWEEN()
的分析工具库来替代RAND()*xx+yy
。
假设您要从特定字符生成随机长度(1-8 个字符)的字符串。
您可以在单元格A1 中输入所需的字符,例如:
abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()
Run Code Online (Sandbox Code Playgroud)
然后,
=LEFT( MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1),
RAND()*8+1)
Run Code Online (Sandbox Code Playgroud)
每个MID(...)
人从 A1 中获得 1 个随机字符。