如果用EXCEL,如何生成一个数字与大写字母组成的32位字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果用EXCEL,如何生成一个数字与大写字母组成的32位字符串?相关的知识,希望对你有一定的参考价值。

如果用EXCEL,如何生成一个数字与大写字母组成的32位字符串?
字母跟数字要求是我指定的:ABCDEF跟0123456789,
例如:6A73EF86E9E752B76D02B027718FC62B,请各位大侠帮忙,小弟感激不尽..

'用VBA代码实现!

'按alt+f11进入VBE编辑窗口,然后在工程窗口插入一个模块
'把下面的代码复制进去--保存,再次按alt+f11返回excel窗口
'这时,按alt+f8打开宏窗口,运行randnum宏,如果你选中的是
'一个单元格,就会产生32位 ABCDEF跟0123456789 的随机组合字符串
'(代码亲测,希望对你有用)

'-------------以下代码部分,可全部复制我的答案到模块窗口---------------

Sub randnum()
Dim j, p As Integer, tem, x(16) As String
x(1) = "0"
x(2) = "1"
x(3) = "2"
x(4) = "3"
x(5) = "4"
x(6) = "5"
x(7) = "6"
x(8) = "7"
x(9) = "8"
x(10) = "9"
x(11) = "A"
x(12) = "B"
x(13) = "C"
x(14) = "D"
x(15) = "E"
x(16) = "F"
For j = 1 To 32
Randomize
p = Int(16 * Rnd) + 1
tem = tem & x(p)
Next j
If Selection.Count = 1 Then
Selection.Value = tem
End If
End Sub

'部分结果:
5306305833FA3AD2C2DE632065C3ACBE
16CD031AF5B1FC6998A535E227897E31
C67D67CF5A61A1093945D697DC3A1FE1
7C2F29701B1352CFFE079B598DEFD497
F9A09BFE8D44DF3C2C3919CA0B2D0214
9E014B923DF574ECDCE9BD2BAFCDB2B5
5FC2FC14FEAB3692829F2FEC2183687A
45BCF609E8A02F97879424D616786D60
B96C96BE985090382734C986CB290214
6B12586F4A0641BDEDFA8A377CDEC386
E89F89E17C83C32B5B67F8B9FE5C3103
8D303A812C2463D00F18AC6A9EF0E5A8
4EF5E043D2992481718E6E1F50725769
38ABE53CD79F1E86768357C549675C5F
E85B85AD8744CF2B1B28B875BA1CF103
9A014B5E3DF574ECDCE9792B6BCDB2B5
0EB1EB03EDA5E58D7D891EDB107E5769
参考技术A 最笨,也是比较好理解的办法是:

定义名称A="0123456789ABCDEF"

然后写公式:
=MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)&MID(A,RAND()*16+1,1)

也就是MID(A,RAND()*16+1,1)重复32次,中间用&连接

或者,不定义名称也行,把0123456789ABCDEF放在A1单元格,把上面公式中的A全部改为A1
参考技术B 首先在EXCEL菜单中操作----[工具]---[加载宏]---[分析工具数据库]--[打钩][---确定],然后在A1填入10进制数,B1格填公式:
=DEC2HEX(A1)
------------------------
类似地16进制转10进制和10进制转2进制如下
(公式中数2前后颠倒则转换方向相反):
=HEX2DEC()
=DEC2BIN()
参考技术C 1)横切面上分为表皮、皮层、基本组织三部分,没有髓和髓射线的分化

(2)表皮下有机械组织,增加茎的机械强度

(3)为有限维管束,无次生结构

(4)维管束散生分布

excel怎么随机生成字母

excel怎么随机生成字母,比如CTGATGTGCATCGGCAAGTGG 这一种的 21个字母,都是由CTGA4个字母组成的?

  可以使用CHAR函数返回相应的英文字母(编码在65-90之间)。

  可以使用RANDBETWEEN随机返回字母的编码65-90。多位字母可以使用文本链接符号&连接即可。

  例如:公式=CHAR(RANDBETWEEN(65,90))结果会随机显示一位字母。



    CHAR函数用途:返回对应于数字代码的字符,该函数可将其他类型的电脑文件中的代码转换为字符(操作环境为MacintoshMacintosh 字符集和WindowsANSI 字符集)。

    语法:CHAR(number)。

    参数:Number 是用于转换的字符代码,介于1~255 之间(使用当前计算机字符集中的字符)。

    实例:公式“=CHAR(56)”返回8,=CHAR(36)返回$。

参考技术A 这个需要建立一个字母表,并对应有序号,然后通过rand()函数产生随机数,然后对应于序号,引用你的字母表,产生随机字母组合。 参考技术B 给你个思路,=INDEX("C","T","G","A",INT(RAND()*4+1)),可随机生成四个字母中的一个 参考技术C =UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))&UNICHAR(INDEX(65,67,71,84,RANDBETWEEN(1,4)))
数组公式本回答被提问者采纳
参考技术D =CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))追问

非常感谢!

以上是关于如果用EXCEL,如何生成一个数字与大写字母组成的32位字符串?的主要内容,如果未能解决你的问题,请参考以下文章

怎样用Excel随机函数rand()生成随机数字和大写字母,能自动产生4位混合的

在excel中怎样生成随机的4位字母数字组合,谢谢

excel怎么随机生成字母

求excel随机生成3位和4位小写字母的方法,用啥函数呢?非常感谢!

poi读取Excel时,如果单元格设置的是数字格式,如何解决整数与小数问题

excel怎样根据给定的字符生成一个8位的随机字符