Excel-随机生成英数字
导读:在Excel的工作表中,如果想要随机生成一个可能是英文字(大、小写字母)或是数字(0,1,...,9),该如何处理? 【基本概念】 参考下图左,可知数字的ASCII码,位于48~57(10进制数),大
在Excel的工作表中,如果想要随机生成一个可能是英文字(大、小写字母)或是数字(0,1,...,9),该如何处理?
【基本概念】
参考下图左,可知数字的ASCII码,位于48~57(10进制数),大写字母位于65~90,小写字母位于97~122。
【设定公式】
先想想以下的公式:
生成随机 0~9:{=CHAR(LARGE(ROW($48:$57),INT(RAND()*10+1)))}
生成随机 A~Z:{=CHAR(LARGE(ROW($65:$90),INT(RAND()*26+1)))}
生成随机 a~z:{=CHAR(LARGE(ROW($97:$122),INT(RAND()*26+1)))}
这三个是数组公式,输入完成要按 Ctrl+Shift+Enter 键。
本例可以如下做法:
单元格L2:=CHAR(LARGE(ROW($1:$26)+{31,64,96},INT(RAND()*62+1)))
这是数组公式,输入完成要按 Ctrl+Shift+Enter 键。
复制单元格L2,往下各行粘贴。
【原理解析】
公式中:
使用CHAR函数可以将一个10进制数,找出对应的字符。
ROW($1:$26):生成1~26的数列。
ROW($1:$26)+{31,64,96}:可以生成32~57、65~90、97~122的数列。(共可生成26X3个数列)
因为数字的ASCII码,位于48~57(10进制数),大写字母位于65~90,小写字母位于97~122。
所以33~47之间数列,并不是我们想要的范围。
INT(RAND()*62+1):生成1~62之间的随机整数(10+26+26=62)。
配合LARGE函数,可以取122~48之间的数。(97~122共26个,65~90共26个,48~57共10个)
【列举】
单元格L2:{=CHAR(LARGE(ROW($1:$26)+{31,64,96},INT(RAND()*62+1)))}
假设INT(RAND()*62+1)随机数生成10。公式要找数列中第10个大的数字:
33,65,97;34,66,98;35,67,99;36,68,100;37,69,101;38,70,102;39,71,103;40,72,104;41,73,105;42,74,106;43,75,107;44,76,108;45,77,109;46,78,110;47,79,111;48,80,112;49,81,113;50,82,114;51,83,115;52,84,116;53,85,117;54,86,118;55,87,119;56,88,120;57,89,121;58,90,122;
由式中由大到小的第10个为“113”,对应的字符为“q”。
因为随机数的最大值是62,也就是说只有由大到小的前62个数字有机会被挑选到。因此33~47(上式加粗+下划线)永远不会被挑选到。
- 上一篇: 外来原始凭证的差错谁来修改?
- 下一篇: 没有了

- 发票已勾选为什么抵扣统计没有数据 2025-12-20
- 累计摊销在资产负债表中怎么表示 2025-12-19
- 如何在电子税务局申请发票增量 2025-12-19
- 建筑业的平均存货周转率是多少 2025-12-19
- 软件的税率是13还是6 2025-12-21
- 公司对公账户转另外对公账户款备注上写什么 2025-12-18
- 公司租房中介费计入什么科目 2025-12-19
- 非正常损耗计入存货成本吗 2025-12-20
- 应付职工薪酬在资产负债表怎么填 2025-12-18
- 个税系统申报可以填负数吗 2025-12-20
- 印花税需要计提吗 2025-12-20
- 请问企业给职工发放的毛巾洗衣液之类的劳保费应计入什么科目? 2025-12-18
- 请问一下,教育咨询公司属于什么行业? 2025-12-22
- 老师,16万去税局代开劳务专票要交什么税,大概多少了? 2025-12-21
- 老师公司购买了4台手机21952元 送人了 还算固定资产吗 这个怎么做账呀 2025-12-21
- 给股东分利润的分录怎么做? 2025-12-20
- 老师,请问下公司是卖沙子,黄沙的,但是,是从农民手中买的,对方是个人? 2025-12-19
- 有未上传的发票必须等税务工作人员上班了才能报送吗? 2025-12-20
- 老师,我想问下,外购货物用于个人消费或集体福利,为什么不能视同销售 2025-12-21
- 金蝶过账时提示没有要过账的凭证,为什么? 2025-12-20