Excel中生成验证码需按业务结构精确控制:5位门禁码用TEXT+CHAR组合;4位混合码可用VLOOKUP查表或MID字符串法;6位强密码须分段强制植入大小写字母和数字再打乱。

要在Excel中生成符合业务要求的随机验证码,比如用于测试账号、临时密码或防刷接口的4~6位字母数字混合编码,必须确保每个字符位置可精确控制、大小写明确、无重复逻辑漏洞,且公式能批量刷新。
生成固定格式的5位验证码(头两位数字+第三位大写字母+后两位数字)
这个结构常用于企业内部门禁码或工单编号,要求严格对齐位置,不能靠随机抽选凑数。
在目标单元格输入公式:=TEXT(RANDBETWEEN(0,99),"00")&CHAR(RANDBETWEEN(65,90))&TEXT(RANDBETWEEN(0,99),"00")
按 Enter 确认后即得如“07M42”“99Z00”这类结果。RANDBETWEEN(0,99)比rand()*99更可靠,避免了0.99999导致进位溢出“100”的风险。
拖拽填充柄向下复制,每次F9刷新整列都会重新生成全新组合——【公式不含volatile函数以外的引用,不会因其他单元格改动意外重算】。
生成纯随机4位字母数字混合码(不区分大小写,任意排列)
适用于短信验证码、临时链接token等对字符顺序无要求的场景。
方法一:用字符表VLOOKUP查表法(稳定、易审计)
先在工作表空白区(如Z1:AA36)建立字符映射表:Z1:Z36填入序号1~36,AA1:AA36依次填入“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”。
然后在目标单元格输入:=VLOOKUP(RANDBETWEEN(1,36),$Z$1:$AA$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$Z$1:$AA$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$Z$1:$AA$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$Z$1:$AA$36,2,0)
注意:绝对引用$Z:$AA防止拖拽时错位,这是该方法唯一必须加锁的位置。
方法二:用MID+字符串拼接(免建辅助列,但公式长)
直接输入:=MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",RANDBETWEEN(1,36),1)&MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",RANDBETWEEN(1,36),1)&MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",RANDBETWEEN(1,36),1)&MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",RANDBETWEEN(1,36),1)
这一步操作起来很简单,直接把公式粘贴进去就行,但要注意双引号内的字符顺序不能漏掉“0”或“O”,否则生成结果会缺数或混淆。
生成6位强密码(含大小写字母+数字,且确保每类至少出现一次)
普通随机组合无法保证字符类型全覆盖,容易生成全数字或全大写的弱密码。必须分段强制植入再打乱。
第一步:生成一个大写字母 → =CHAR(RANDBETWEEN(65,90))
第二步:生成一个小写字母 → =CHAR(RANDBETWEEN(97,122))
第三步:生成一个数字 → =TEXT(RANDBETWEEN(0,9),"0")
第四步:再随机补满剩余3位(从62字符集任选)→ =MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",RANDBETWEEN(1,62),1)
第五步:把这6个字符用&连接后,用CONCATENATE或&拼成字符串,再用SORTBY+SEQUENCE打乱顺序——但Excel 365以下版本不支持SORTBY,所以改用手动置换法:将前四步结果放在A1:D1,E1和F1用=RAND()生成两个扰动值,选中A1:F1 → 复制 → 选择性粘贴为数值 → 按F1列升序排序 → 取A1:F1内容连起来就是6位合规密码。


















