EXCEL 中随机产生16位数字的代码!

=CONCATENATE(CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))))



随机产生大小写字母跟数字组合的代码:
=CHAR(INDEX({97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122},INT(RAND()*23)+1))&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&CHAR(INDEX({65,66,67,68,69,70,72,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90},INT(RAND()*23)+1))&CHAR(INDEX({97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122},INT(RAND()*23)+1))&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&CHAR(INDEX({65,66,67,68,69,70,72,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90},INT(RAND()*23)+1))&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&CHAR(INDEX({97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122},INT(RAND()*23)+1))&CHAR(INDEX({65,66,67,68,69,70,72,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90},INT(RAND()*23)+1))&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&CHAR(INDEX({65,66,67,68,69,70,72,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90},INT(RAND()*23)+1))&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&CHAR(INDEX({97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122},INT(RAND()*23)+1))&CHAR(INDEX({65,66,67,68,69,70,72,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90},INT(RAND()*23)+1))&INDEX({2,3,4,5,7,8,9},INT(RAND()*7)+1)&CHAR(INDEX({97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122},INT(RAND()*23)+1))
### 使用公式生成32随机整数 要在Excel生成32随机整数,可以利用 `RANDBETWEEN` 函数组合来实现。由于单个 `RANDBETWEEN` 只能处理较小范围的数值,因此需要通过多个函数嵌套或乘法扩展其能力。 对于32无符号整数的最大值为4,294,967,295 (即 \(2^{32}-1\))。可以通过下面的方法之一达到目的: #### 方法一:使用公式的简单叠加方式 ```excel =RANDBETWEEN(0, 4294967295) ``` 这种方法直接调用了 `RANDBETWEEN` 来覆盖整个32空间[^1]。 然而,在某些版本的Excel中可能无法支持如此大的范围一次性生成。此时可考虑分段构建大数的方式。 #### 方法二:多部分拼接形成更大范围 如果遇到上述情况,则可以选择将多数字串连起来构成完整的32数: ```excel =TEXT(RANDBETWEEN(0, 9), "0") & TEXT(RANDBETWEEN(0, 9), "0") & ... (重复此过程直到长度满足) ``` 但这不是最优解,因为这会创建字符串而非真正的整数,并且效率较低。 更佳的选择是采用数学运算构造目标区间内的随机数: ```excel =(INT((RAND()*4294967296))) ``` 这里先用 `RAND()` 获取一个小于1的大于等于零的小数,再将其放大至所需区间并取整得到最终结果[^3]。 ### VBA代码实现 当涉及到更高层次的需求时,比如批量生产这些随机数或是希望有更多控制权的时候,编写一段简单的VBA宏可能是更好的解决方案。 以下是适用于生成32随机整数的VBA代码片段: ```vba Function RandInt32() As Long Dim minVal As Double Dim maxVal As Double ' 定义最小最大边界 minVal = 0 maxVal = 4294967295 With Application.WorksheetFunction RandInt32 = .RandBetween(minVal, maxVal) End With End Function ``` 这段程序定义了一个名为 `RandInt32` 的自定义函数,它返回一个介于0到\(2^{32}-1\)之间的随机整数。用户可以直接在工作表中像常规公式一样调用这个新函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值