A1="987654321012345" 身份证号码由15位改为18位,分两部分更改: 1、在原号码的第7位插入“19”,把2位数的年份改为4位数表示:REPLACE(A2,7,,19) 2、后面加一个识别码。 ①把年份改为4位数成17位号码:"98765419321012345" ②各位上的数字依次乘以2的17、16、15……1次方,并求和: s=9*2^17+8*2^16+7*2^15+……+4*2^2+5*2^1 公式为: 各位上的数字:MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1) 系数:2^(18-ROW(INDIRECT("1:17"))) 求和:SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))) ③求上面结果除以11所得余数:mod(s,11) ④取字符串"10X98765432"中对应位置(余数+1)上的字符。 计算过程: 在编辑栏,一步一步用鼠标按下面所示效果选取公式,按F9: 1、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 2、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID("98765419321012345",ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 3、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM({"9";"8";"7";"6";"5";"4";"1";"9";"3";"2";"1";"0";"1";"2";"3";"4";"5"}*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 4、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM({"9";"8";"7";"6";"5";"4";"1";"9";"3";"2";"1";"0";"1";"2";"3";"4";"5"}*{131072;65536;32768;16384;8192;4096;2048;1024;512;256;128;64;32;16;8;4;2}),11)+1,1),A2) 5、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM({1179648;524288;229376;98304;40960;16384;2048;9216;1536;512;128;0;32;32;24;16;10}),11)+1,1),A2) 6、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(2102514,11)+1,1),A2) 7、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",8,1),A2) 8、=IF(LEN(A2)=15,REPLACE(A2,7,,19)&"5",A2) 9、=IF(LEN(A2)=15,"987654193210123455",A2) 条件LEN(A2)=15成立,所以返回结果"987654193210123455" |