身份证号中15位和18位的均有,谢谢.
热心网友
很简单,假设D2是身份证号,A1中产生出生年月日,则在A1中输入: =TEXT(IF(LEN(D2)=18,MID(D2,7,8),CONCATENATE("19",MID(D2,7,6))),"#年00月00日") 即用len判断D2的长度,如果长是18(即18位身份证号),则调用函数mid(D2,7,8)即从D2中第7位起取8位,正好是完整的出生年月日,形如19581202;如果不是,由调用函数CONCATENATE("19",MID(D2,7,6))即从D2中第7位起取6位以后,前面加上“19”,也形如19581202式的出生年月日。 最后,前面加上text函数,指定格式为“#年00月00日”,这样,所有的出生年月都形成为“1958年12月02日”的格式。 即:用len判断长度,用if根据判断出来的长度选择是取8位,还是取6位后再加上“19”,然后用text函数指定格式为“#年00月00日”。 不知你是否满意?。
热心网友
下列公式对15位和18位身份证通用:=TEXT(IF(LEN(A1)=15,19,0)&MID(A1,7,6+IF(LEN(A1)=18,2,0)),"#年00月00日")说明:1、TEXT(value,format_text): 将数值转换为按指定数字格式表示的文本。 2、MID(text,start_num,num_chars): 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。 3、LEN(text): 返回文本字符串中的字符数。若需要详细说明可以点击EXCEL中的帮助。
热心网友
TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0公式对15位和18位身份证通用
热心网友
15位:=right(left(A1,14),8)18位:=right(left(A1,12),6)A1中是身份证号