疫情宅家期间,催生了很多在线业务,比如在线教育。某教育机构通过给客户提供电子优惠码的形式,吸引客户参加线上课程。电子优惠码由大小写字母、数字和特殊字符组成,一共八位字符,如何批量生成这些电子码呢却让人头疼。
其实非常简单,来看案例。
案例:
生成 15 个由字母、数字和特殊字符组成的随机密码,效果如下图所示。
解决方案:
1. 在 A1 单元格中输入以下公式 --> 下拉复制公式,直至单元格中不再出现新的大小写字母、数字和特殊字符为止:
=CHAR(ROW(A33))
公式释义:
- char 函数的作用是返回对应于数字代码的字符;
- 从参数 33 开始,返回的分别是部分特殊字符、数字、大小写字母等;
- 当拖动到 94 行以后,不再有新的特殊符号出现,所以就停止。
2. 选中 B1:I1 区域 --> 输入以下公式 --> 按 Ctrl Enter 回车:
=INDIRECT("a"&RANDBETWEEN(1,94))
公式释义:
- RANDBETWEEN(1,94):生成 1 至 94 之间的随机整数
- INDIRECT("a"&RANDBETWEEN(1,94)):随机提取 a1 至 a94 单元格中的数据
3. 将 B1:I1 的公式向下拖动复制直至 15 行。
4. 在 K1 单元格中输入以下公式 --> 向下拖动复制公式至 15 行:
=TEXTJOIN("",1,B1:I1)
公式释义:
- textjoin 函数的作用是将多个区域和/或字符串的文本组合起来,其中包括在文本值之间指定的分隔符;
- 本公式含义为:TEXTJOIN(分隔符为空, 忽略空值, 连接区域为 B1:I1)
有关 textjoin 函数的详解,请参阅 Excel一对多查找的结果写入同一单元格,这个函数正好对症下药。
5. 因为随机函数会不断变动,为了得到最终密码,将 K 列的数据复制、粘贴为文本到 M 列,就得到了 15 个 8 位随机密码。
评论 (0)