excel中批量生成数字随机,字符串固定的字符串

该文介绍了如何利用Excel来创建一组特定格式的临时密码,密码由固定字符串与四位随机数字组成。通过设置两个固定字符串列,生成随机数函数,以及使用&符号拼接函数,可以批量生成所需密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务需要,需要生成一批临时用的密码串,研究了一下用excel生成,这在里记录一下。

要求:密码串为状如  user5689@Huawei 这样的密码串,中间的数字是四位随机数。

生成步骤如下:

1、做两个固定列,分别是数字前后的字符串

如图:

 2、第三列用函数生成随机数:就是图上的函数。

如图:

 

3、选中单元格,往下拉,生成足够的随机数。

 

4、在第四列选中第一个单元格,按等号写拼写的函数。

如图,中间用&符连接。

 

输入完毕后,敲一下回车。

看,就这样生成了。

然后按住单元格右下角的复制按钮,往下拖,就能把密码全部做出来。

如图:

 

 

### 使用公式生成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
发出的红包

打赏作者

阳光正好2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值