魔法消消看popstar:批量生成身份證號碼 - Excel函數與公式
批量生成身份证号码
前一段时间,曾研究过隐藏在身份证里面的秘密。现在突发奇想:能不能批量生成身份证号码呢?在网上搜了一下,果然有收获。
=INDEX({11;12;13;14;15;21;65;22;23;31;32;33;34;35;36;37;41;42;43;44;45;46;50;51;52;53;54;61;62;63;64},RAND()*31+1)&TEXT(RAND()*9999,"0000")&TEXT(24838+INT(RAND()*8036),"yyyymmdd")&TEXT(INT(RAND()*9999),"0000")
这位仁兄的公式果然是个好法子,能随机生成身份证号码,由此可见EXCEL公式的强大生命力。
现在我有几个问题:
1.这个公式能否逐一解读?抱着一种求疑解惑的精神,想请问各位高人!
2.我想增加一点难度,能否生成符合一定条件的身份证号码,比如我想生成前面区码是“
不知以上两个问题能否解决?
地区代码取决于数组{11;12;13;14;15;21;65;22;23;31;32;33;34;35;36;37;41;42;43;44;45;46;50;51;52;53;54;61;62;63;64},只是省一级的,相当于六位地区代码中的前二位,后四位根本没有考虑,还有他的公式没有考虑最后一位校验码
出生年龄由公式中
=TEXT(24838+INT(RAND()*8036),"yyyymmdd")
生成,因此,决定年龄阶的是24838和8036两个数字(公式中日期在1968年1月1日至1999年12月31日之间)。改变这两个数值,就可以改变看龄区间,以今天为例,大于50岁,我们只要使这两个数字的和在1至21884之间就可以了。