EXCEL中身份证分别提取年,月,日(15位和18位通用的)

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:26:23
A B C D
身份证号码(随机) 1980 12 14

年月日分别在B列,C列,D列。

请回答的亲具体给出公式,我还会追加高分的。

我作出来了。
其实就是一个if函数,一个len长度函数,还有就是mid取值函数的组合。
告诉邮箱,我发给你方法。
358725389@qq.com

年B列输入
=IF(LEN(A1)=15,19&MID(A1,7,2),MID(A1,7,4))

月C列输入

=IF(LEN(A1)=15,MID(A1,9,2),MID(A1,11,2))

日 D列输入

=IF(LEN(A1)=15,MID(A1,11,2),MID(A1,15,2))

试过了,通过! 由于身份证号码,只有15位和18位之分,故if函数里面只有 15位和非15位的判断。

B2中输入
=IF(LEN(A2)=15,19&MID(A2,7,2),MID(A2,7,4))
C2中输入
=IF(LEN(A2)=15,MID(A2,9,2),MID(A2,11,2))
D2中输入
=IF(LEN(A2)=15,MID(A2,11,2),MID(A2,13,2))

B1中输入:=mid(a1,7,4)
C1中输入:=mid(a1,12,2)
D1中输入:=mid(a1,15,2)

然后向下填充就可以了

B2=IF(LEN(A2)=18,MID(A2,7,4),IF(MID(A2,7,1)="0",20,19)&MID(A2,7,2))
C2=IF(LEN(A2)=18,MID(A2,11,2),MID(A2,9,2))
D2=IF(LEN(A2)=18,MID(A2,13,2),MID(A2,11,2))
结果是文本型,如果想要数字型,在后面加“*1”就是了

这个可以使用VBA来实现,或者是宏也可以,先判断数据是否为18位,还是15位,然后可以根据这个再提取字符串中的几位数字就是了哦

假如身份证号码在A1单元格,B1位年份格,C1为月份格,D1为日期格,那么公式为:
B1=RIGHT(LEFT(A1,10),4)
C1=