用excel生成字母大小写加数字的任意位数随机密码
考虑到部分网友可能急需这个公式,那么我先在这里把公式贴出来以供急用:
=CONCATENATE(IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))))
我们来分解这个函数,这个函数以CONCATENATE函数为主体包含了八个子部分:
IF(INT(RAND()*3)=0,CHAR(INT(RAND()*10+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97))))
而这个子部分又是由两个判断语句嵌套实现的,这个机制实现数字、大写字母、小写字母出现的概率相同
因为INT(RAND()*3)=0这个公式成功的概率只有1/3
而CHAR(INT(RAND()*10+48)) 则显示 [0-9]之间的数
而CHAR(INT(RAND()*25+65)) 则显示 [A-Z]之间的字母
而CHAR(INT(RAND()*25+97)) 则显示 [a-z]之间的字母
∵ 本公式来自网易博客http://blog.163.com/sysongyi/blog/static/2496740200961214137231/,本人略加修改,并添加注释
∴ 本文为原创,请支持原创,转载注明出处。
嘿嘿,你多大了啊?这么基情?
网站的空间质量对网站优化(seo)影响很大,谷歌的排名因素中就有一项:页面访问速度
邹清水:太感谢你啦,正急着用这个呢,多谢分享!