Excel中如何将15位身份证号转换为18位
将15位身份证补全为18位身份证的算法示例详解

将15位⾝份证补全为18位⾝份证的算法⽰例详解前⾔最近在参与⼀个银⾏项⽬-某银⾏安防系统-反洗钱需求的开发,银⾏项⽬的离不开⾝份证号码,⾝份证号码作为我国公民的唯⼀标识,有这⾮同寻常的意义,由于业务的要求15位的⾝份证号码⽆法命中,所以需要补全为18位,⼀开始⾃⼰想着加个年份的前两位,后⾯再加个X不就⾏了嘛,后来代码写不下去了,上⽹查了资料,才知道⾃⼰想的是多么天真,还是⽐较复杂的,折腾了⼀下午终于有了眉⽬。
⼀、15位⾝份证和18位⾝份证号码结构介绍要进⾏⾝份证号码的验证,⾸先需要了解我国⾝份证号码的编码规则。
我国⾝份证号码多由若⼲位数字或者数字与字母混合组成。
早期⾝份证由15位数字构成,这主要是在1980年以前发放的⾝份证,后来考虑到千年⾍问题,因为15位的⾝份证号码只能为1900年1⽉1⽇到1999年12⽉31⽇出⽣的⼈编号,所以⼜增加了18位⾝份证号码编号规则。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A A A A A A Y Y M M D D N N S前六位AAAAAA是⾝份证编码对象的所在地(出⽣地)的编码,该号码可由国家统计局公布的相关标准中得到。
YY表⽰出⽣年的后两位,MM和DD表⽰出⽣⽉和⽇,不⾜两位的⾼位补0,NNS为顺序号,⽆法确定。
S为性别识别码,男性为奇数,⼥性为偶数。
了解了这些,再来写代码就变得容易多了。
⼆、算法实现了解了⾝份证号码的规则后,我们就可以推断出,⾝份证的15位转化位需要两步。
⾸先把15位⾝份证号补全为17位,然后再补全最后⼀位。
但是最后⼀位是数字还是字母X?这⾥⼜出现了问题。
我们知道,⾝份证的最后⼀位为校验位,那么最后⼀位是怎么得到的呢?原来,最后⼀位是由数字1-9组成,超过9的⽐如11就⽤字母X表⽰,否则号码就变成了19位。
了解了这些,经过整理得出⾝份证补全算法实现思想如下:step1、将15位⾝份证号码加⼊出⽣年变为17位 step2、将step1得到的⾝份证17位数分别乘以不同的系数。
给你5个实用Excel函数公式搞定盘踞在Excel表格中的身份证

给你5个实用Excel函数公式搞定盘踞在Excel表格中的身份证在工作中,将身份证输入表格的大多是财务或是HR,本以为只要输入数字就可以了,可是,当大家做这事儿的时候,有多少人发现,这个身份证真的很抽风……如果你正做着有关工作,那么就一起来看一下以下内容吧,让你的Excel操作轻松碾压各种有关身份证的信息。
以下是一组和身份证有关的函数公式,如果你是财务人员或是一名HR,那就一起来看一下啦:1、查找重复身份证号码在Excel表格上方输入【=IF(COUNTIF(A:A,A1&"*")>1,"重复","")】,其中“A1”可以自定义修改。
说明:COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但Excel中的数字精度只有15位,但身份证号码是18位,因此会把前15位相同的身份证全部识别为相同的内容。
在第二参数后加上一个星号 &"*",就是告诉Excel,要查找包含A1单元格内容的文本,通过这样变通的手段,COUTNIF函数就会乖乖听话啦。
2、出生年月来可计算年龄在Excel表格上方输入【=DATEDIF(A4,TODAY(),"y")】,然后按回车键,即可在其中“A4”可以自定义修改。
说明:DATEDIF函数用于计算两个日期之间的间隔。
=DATEDIF(开始日期,结束日期,指定要返回的类型);第三参数Y表示年,M则表示月。
TODAY函数返回系统当前的日期。
DATEDIF函数是隐藏函数,输入时没有屏幕提示,需要手工录入。
3、根据身份证号计算出生年月在Excel表格上方输入【=--TEXT(MID(A2,7,8),"0!/00!/00")】,然后按回车键,即可在其中“A2”可以自定义修改。
说明:身份证号码中的第8位到15位是出生年月信息。
先用MID函数从A2单元格的第7位开始,提取出8个字符,即可得到身份证号中的出生年月日信息。
一代身份证转二代身份证【批量15位转18位】公式备份,有用的

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
利用Excel涵数提取18位身份证号码信息ppt课件

回车后,你会发现在C5单元格内已经出现了出生日期。
然后,选中该单元格后拖动填充柄,其它单元格内就会
出现相应的
.
6
出生日期。MID函数是EXCEL提供的一个“从字符串中提
取部分字符”的函数命令,具体使用格式在EXCEL中输入
MID后会出现提示。
提下
.
ቤተ መጻሕፍቲ ባይዱ
7
来,我们再来提取性别信息选中“性别”列的单元格, 如D5。输入“=IF(MID(B5,17,1)/2=TRUNC(MID(B5,17, 1)/2
.
11
全文完!谢谢欣赏!感谢您的支持!
.
云ERP /
12
18位的新一代身份证了,里面的数字都是有规律的。前6 位数字是户籍所在地的代码,7-14位就是出生日期。第17 位“2”代表的是性别,偶数为女性
.
1
,奇数为男性。我们要做的就是把其中的部分数字利用
了涵数“提取出来”。我们启动Excel2003,录入需要提取
信息的身份证号码。
输入的身份
.
2
证号会以科学记数法显示,需要更改一下数字格式。选 中该列中的所有身份证号后,右击鼠标,选择“设置单 元格格式”。在弹出对话框中“数字”标签内的“
.
3
分类”设为“文本”,然后点击确定。 首先,提取出出生日期将光标指针放到“出生日期”列 的单元格内,这里以C5单元格为例。然后输入“=MID
.
4
(B5,7,4)&"年"&MID(B5,11,2)&"月"&MID(B5,13, 2)&"日"”注意:外侧的双引号不用输入,函数式中的引号 和逗
Excel中身份证号码显示格式错误的解决方法

Excel中身份证号码显示格式错误的解决方法
Excel中身份证号码显示格式错误的解决方法
很多人在excel表格中输入身份证号码等长串数字,如何输入才能变成我们熟悉的18位数字的形式呢?今天,小编就教大家在Excel 中身份证号码显示格式错误的解决方法。
Excel中身份证号码显示格式错误的解决步骤举例说明,如下图所示,可以看到在默认情况下如果输入了18位的身份证号,就会自动变成科学计数法的格式来显示;
首先选取身份证号所在的单元格,右键--设置单元格格式;
在左边的选项框中选择文本选项,点击确定;
点击确定之后,原来的数字变为靠左显示,但仍然显示为科学计数法的形式;
此时我们双击该单元格,就会显示出完整的18位号码;
仔细的同学们会发现,这个身份证号貌似不太正确,因为后四位变成了0;这时我们就需要手动修改一下后四位数字;
选中单元格,左侧会出现带有感叹号的按钮,点击后选择忽略错误,这时单元格左上方的小箭头就会消失,ok,修改完毕;
看过Excel中身份证号码显示格式错误的解决还看了:
1.excel身份证号码格式怎么显示
2.Excel中表格身份证显示不正确的解决方法
3.Excel表格如何显示身份证号码
4.excel表格打不开,显示格式错误的解决方法
5.Excel输入身份证号显示不全如何解决
6.Excel中输入身份证号后变成E+17格式的解决方法
7.Excel身份证号显示不全如何解决
8.excel表格身份证号乱码怎么处理。
身份证核对公式

EXCEL中你输入的公民身份号码正确吗?目录:1、输入错误自动红色显示提示2、15位身份证号码升位为18位公民身份号码3、自动生成出生日期和性别4、中华人民共和国国家标准GB 11643-1999 公民身份号码一、输入错误自动红色显示提示在企业报送的EXCEL电子表格中,经常遇到公民身份号码输入错误而给工作带来不必要的麻烦,降低了工作效率。
有没有办法在公民身份号码录入错误时进行自动提示呢?其实【中华人民共和国国家标准 GB 11643-1999】对公民身份号码第18位校验码已作了详细的规定,只是我们在电算工作中很少用到而已。
可用以下方法在EXCEL中录入公民身份号码错误时自动红字显示:选择需要录入公民身份号码的单元格(如A1),选择菜单:格式/条件格式。
①点击条件1左边的下拉箭头,选择公式,在右边的公式栏中输入以下公式:=AND(LEN(D4)<>0,LEN(D4)<>15,LEN(D4)<>18)接着单击格式,点击字体,颜色选择红色,确定。
②在条件格式中点添加,点击条件2左边的下拉箭头,选择公式,在右边的公式栏中输入以下公式:=MID("10X98765432",MOD(SUMPRODUCT(MID(D4,ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11) ),11)+1,1)<>MID(D4,18,1)接着单击条件2中的格式,点击字体,颜色选择红色,确定,确定。
右键按住A1单元格右下角的小黑点,向下拖至所需要录入公民身份号码的所有单元格,松开右键,选择仅填充格式。
在接着的录入中,凡是输入不是15位或18位,或者输入18位错误的公民身份号码都会红色显示。
身份证重复显蓝色的公式:COUNTIF($D$4:$D$65536,D4)>1 二、15位身份证号码升位为18位公民身份号码要使单元格中A1中的15位身份证号码升位为18位公民身份号码,只需在单元格A2中输入以下公式即可:=REPLACE(A1,7,,19)&MID("10X98765432",MOD(SUMPRODUCT(MID(REPLACE(A1,7,,19),ROW($1:$1 7),1)*MOD(2^(18-ROW($1:$17)),11)),11)+1,1)或=REPLACE(A1,7,,19)&LOOKUP(MOD(SUMPRODUCT(MID(REPLACE(A1,7,,19),ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11)),11),{0,1,2,3,4,5,6,7,8,9,10},{1,0,"X",9,8,7,6,5,4,3,2})三、自动生成出生日期和性别如果单元格A1为身份证号码或公民身份号码,单元格A2为性别,单元格A3为出生日期,则操作如下:在单元格A2中输入以下公式,则会自动生成性别:=IF(LEN(A1)=18,IF(INT(MID(A1,17,1)/2)=MID(A1,17,1)/2,"女","男"),IF(LEN(A1)=15,IF(INT(MID(A1,15,1)/2)=MID(A1,15,1)/2,"女","男"),""))在单元格A3中输入以下公式,则会自动生成出生日期:=IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),IF(LEN(A1)=15,DATE(MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)),""))[顶] EXCEL中多条件求和、计数的4种方法EXCEL中多条件求和、计数的方法大致可归纳为4种:⒈自动筛选法⒉合并条件法⒊数组公式法⒋调用函数法先打开上面的工作表,分别用这4种方法对同时满足“A2:A15区域为A,B2:B15区域为10,C2:C15区域为Ⅰ”条件的E2:E15区域进行求和、计数。
身份证号码换算年龄、性别、出生日期的公式

身份证号码换算年龄、性别、出生日期的公式15位和18位的身份证号都合适的了。
设内容如下:........A列......B列......C列......D列....1 身份证号性别出生年月年龄2(输入身份证号)算年龄的:“=IF(OR(LEN(A2)=15,LEN(A2)=18),RIGHT(IF(IF(LEN(A2)=15, MID(A2,9,2),MID(A2,11,2) )*100+IF(LEN(A2)=15,MID(A2,11,2),MI D(A2,13,2))>MONTH(TODAY())*100+DAY(TODAY()),YEAR(TODAY())-IF(LEN(A2)=15,MID(A2,7,2),MID(A2,9,2))-1,YEAR(TODAY())-IF(L EN(A2)=15,MID(A2,7,2),MID(A2,9,2))),2),"证号错误")”算性别的:“=IF(LEN(A2)=15,(IF(OR(ABS(RIGHT(A2))=1,ABS(RIGHT(A2) )=3,ABS(RIGHT(A2))=5,A BS(RIGHT(A2))=7,ABS(RIGHT(A2))=9),"男","女")),(IF(OR(ABS(MID(A2,17,1))=1,ABS(MID(A2,17,1))=3,ABS(M ID(A2,17,1))=5,ABS(MID( A2,17,1))=7,ABS(MID(A2,17,1))=9),"男","女")))”算出生年月的:“=DATE(IF(LEN(E3)=15,MID(E3,7,2),MID(E3,9,2)),IF(LEN(E3) =15,MID(E3,9,2),MID(E3,11,2)),IF(LEN(E3)=15,MID(E3,11,2),MID(E3,13,2)))”只要把输入身份证号的单元格格式设为“文本”就是最关键的,准确。
身份证号码批量15位转18位

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!