Excel表格中根据身份证号码自动填出生日期、性别、年龄

标签:
杂谈 |
分类: 电脑技巧 |
Excel表格中根据身份证号码自动填出生日期、性别、年龄
右击所在列→“设置单元格格式”为“常规” →复制以下(蓝色)公式:
=================================================================
◎ A1为15位或18位身份证号,要在B1算出 生日
=TEXT(19*(LEN(A1)=15)&MID(A1,7,(LEN(A1)=18)*2+6),"0-00-00")
-----------------------------------------------------------------
◎ A1为15位或18位身份证号,要在B1算出 性别
=IF(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2),"男","女")
-----------------------------------------------------------------
=DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,(LEN(A1)=18)*2+6),"#-00-00"),TODAY(),"Y")
http://s2/middle/5dabcbb3xa7cb9b2ac231&690
-----------------------------------------------------------------
注意:根据表格修改单元格“(A1)”下图已经修改为“(B1)”。修改方式:将上述公式打入后,抹黑上述公式中的“A1”(不要抹括号),再点“B1”单元格,公式中就自动生成“B1”。然后下拉“C1”,以下所有行就全部自动完成了。
http://s2/middle/5dabcbb3xa7cb9d680751&690
-------------------------------------------------------------另:
根据身份证号码求出生日期、性别、年龄、15-18位转换
复制以下蓝色代码:
根据身份证计算年龄
=IF(LEN(C2)=15,YEAR(NOW())-1900-VALUE(MID(C2,7,2)),IF(LEN(C2)=18,YEAR(NOW())-VALUE(MID(C2,7,4)),"身份证错"))
15位身份证转换成18位
=IF(LEN(C2)=15,REPLACE(C2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(C2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),C2)
身份证号全部改为15位
=IF(LEN(C2)=15,C2,LEFT(REPLACE(C2,7,2,),15))
计算出生日期
=IF(C2<>"",TEXT((LEN(C2)=15)*19&MID(C2,7,6+(LEN(C2)=18)*2),"#-00-00")+0,)
判断性别
=IF(C2<>"",IF(MOD(RIGHT(LEFT(C2,17)),2),"男","女"),)