Excel 2007如何从18位身份证号中提取年龄信息
人气:0随着Excel用的越来越普及,大家对Excel高手也很羡慕,能熟练的使用常用的函数,往往可以达到事半功倍的效果,现在我们试着对从18位SFZ号码中提取年龄的函数进行尝试和分析。
分析
- 01
SFZ分一代和二代,一代由15位数字组成,其中前6位是表示地址的,第7位到12位表示出生的年月日,后面三位也是地址码,最后一位奇数是男性,偶数时女性。后来在一代SFZ号码的基础上加了三位,补齐了出生年月日,又在最后一位补上了一位校验码,而我们现在都是在用二代SFZ,但是不排除出现一代号码的可能,我就见过有年纪大的没有更换的,又或者我们的信息有用以前一代注册的到现在如果需要改信息还得输入一代的号码。
方法1/步骤
- 01
综上,偶有一代SFZ号出现.假如我们把一代号码考虑进去。现在我们考虑函数的使用:假如是一代15位的号码,我们就需要用现在的年份号码减去19和提取第7位和第八位的数字组合(2000年以后出生的不存在15位号码的。。。),假如是18位的号码,就用现在的年份减去提取的第7位到第10位的数字组合。这样考虑,就用到IF,LEN,MID,。我们先看一下其用法。
- 02
根据上述所知,我们试着写出函数,选择F3单元格输入:“=YEAR(NOW())-IF(LEN(D3)=15,19&MID(D3,7,2),MID(D3,7,4))”,其中NOW()指今天的日期(2015-07-30),YEAR(NOW())就是2015了,LEN(D3)指查询D3字符串的长度18,MID(D3,7,2)就是提取D3单元格第7位和第8位的数字组合(D3是18位的数字,这一步直接跳过,如果把这个换成一代SFZ号码它就提取出73),MID(D3,7,4)就是提取D3单元格的第7位到第10位的数字组合1973(如果换成一代SFZ号码,这步步成立,直接跳过)。输入完成后,点击其他的任何个单元格,F3显示出张三的年龄42,本次函数通过。
- 03
选中F3,按下Ctrl+C 键复制单元格,选定其他人员的年龄单元格按下Ctrl+V 键粘贴单元格,即可得到其他人员的年龄了
- 04
选定随意一个单元格,你可以看到每个每个单元格的内都有公式了。仔细查看每个公式的相同点和不同点,以便更牢靠的学习和掌握这个公式。
方法2
- 01
假如不考虑一代SFZ号,也就是说全是18位的情况下,就简单了,只要现在的年份减去从18位号码中提取的7位到10位号码的数字组合就是年龄了,由此可知,函数可以为:"F3=YEAR(NOW())-MID(D3,7,4)"输入F3后显示了其年龄。
- 02
选定F3,用方法1中的方法,使得其他年龄单元格内也有这样的函数。这个好像简单一点。
特别提示
方法1和2各有所长,大家可以根据自己的需要来自己选择
其实有不同的函数来实现相同的目的的。
加载全部内容