论文部分内容阅读
日常的工作中经常会遇到一些对表格信息进行再处理的问题。比如原有的报表中有员工的身份证信息,现在需要统计员工的出生日期、性别、年龄等信息。这些信息在身份证号码中是可以查询到的。那么怎么实现呢?这就要用到文本函数了。
从身份证号码求出生日期
比如我们要从身份证号码“370783200609160012”中截取出生日期,这个18位的号码中的第7位开始的8个数字就是出生日期。因此,在相应单元格输入公式“=MID(A2,7,8)”回车即可。这个公式的解释就是要截取A2单元格文本从第7个字符开始的连续8个字符。所以,如果遇到老身份证15位号码,那么公式就应该是“=MID(A3,7,6)”。

但是实际工作中问题没有这么简单。因为在一份报表中往往数据很多,而且身份证号码位数既有15位,又有18位,不可能逐个写公式的。因此,应该用前面的IF函数对情况加以判断,再写一个统一的公式。那么,就需要先判断号码有多少位,这得用到另一个“LEN”函数。
“LEN”函数的作用就是返回字符串的字符个数。用法很简单,比如公式“=LEN(A2)”就返回A2单元格文本的字符个数。用这个函数判断身份证号码位数,再利用IF函数,就可以用一个公式解决这个问题了。公式应该为“=IF(LEN(A2)=18,MID(A2,7,8),MID(A2,7,6))”。解释就是:如果A2单元格的字符数为18就截取A2单元格文本从第7个字符开始的连续8个字符,否则就截取连续的6个字符。
问题到这里其实还没有真正解决,因为15位号码的出生日期中是缺了“19”的,也就是例子中的“060916”应该是“19060916”。这个问题其实不难解决,把公式改成“=IF(LEN(A4)=18,MID(A4,7,8),"19"&MID(A4,7,6))”就行了。这样,就会在截取到的6个数字前自动添加“19”了。
从身份证号码求性别
18位和15位的身份证号码信息还是在不同的位置。15位的在倒数第一位,18位号码则是倒数第二位。如果这个数字是奇数,那么就是“男”,偶数则为“女”。所以,我们应该截取信息码,这次可以利用RIGHT和LEFT函数截取。此外,我们必须判断该数字为奇数还是偶数,这个可以利用MOD函数来解决。然后就是利用IF函数来做判断了。对了,截取到的信息码是文本,咱们还得把它转成数字格式才可以判断是奇数还是偶数,当然,Excel中也有相应的函数VALUE。咱先一个一个地介绍一下相应函数。
RIGHT和LEFT都是截取字符串的。RIGHT从右边截取,而LEFT则是从左边截取,如表1中下面一个表格所示,“=RIGHT(A2,3)”就能截取到A2单元格字符串右边的三个字符,LEFT的用法与此相同。它们结合起来使用,就可以截取中间的某个或某几个字符。所以,截取15位号码的性别信息码应用公式“=RIGHT(A2,1)”,而截取18位号码的性别信息码应用公式“=LEFT(RIGHT(A3,2),1)”,意思是截取A3单元格字符串的右边两个字符后再从左边截取1个字符。当然,用前面刚刚介绍的MID函数也可以截取到信息码的。
把截取到的字符转成数字用到的函数是VALUE。其用法简单,“=VALUE(B2)”就可以把指定单元格的字符转成数字格式。
判断奇数偶数的方法是拿这个数除以2,如果余数为零,那么就是偶数;如果余数为1,当然就是奇数了。求余数的函数是MOD。比如公式为“=HOD(A2,2)”,那就是被除数是A2单元格数据,除数是2,求余数。好了,我们先将截到的信息码转成数字,然后利用公式“=IF(MOD(C2,2)=0,“女”,“男”)”就可以判断性别,并直接填写到相应单元格中。
替换字符串
字符串替换也是我们经常遇到的问题。而其中又可以分为文字替换和数字替换两种方式。
文字替换:我们有一份报表,由于地址有过变更,所以上交的地址栏中使用新老名称的都有。现在我们需要将地址栏中所有的“学院路”改为“金光街”,其它的保持不变。那么就可以使用SUBSTITUTE函数,它的作用就是将字符串中指定的字符替换为新字符。公式“:SUBSTITUTE(A2,“学院路”,“金光街”)”中第二个参数是老字符,而第三个参数则为替换的新字符。
从身份证号码求出生日期
比如我们要从身份证号码“370783200609160012”中截取出生日期,这个18位的号码中的第7位开始的8个数字就是出生日期。因此,在相应单元格输入公式“=MID(A2,7,8)”回车即可。这个公式的解释就是要截取A2单元格文本从第7个字符开始的连续8个字符。所以,如果遇到老身份证15位号码,那么公式就应该是“=MID(A3,7,6)”。

但是实际工作中问题没有这么简单。因为在一份报表中往往数据很多,而且身份证号码位数既有15位,又有18位,不可能逐个写公式的。因此,应该用前面的IF函数对情况加以判断,再写一个统一的公式。那么,就需要先判断号码有多少位,这得用到另一个“LEN”函数。
“LEN”函数的作用就是返回字符串的字符个数。用法很简单,比如公式“=LEN(A2)”就返回A2单元格文本的字符个数。用这个函数判断身份证号码位数,再利用IF函数,就可以用一个公式解决这个问题了。公式应该为“=IF(LEN(A2)=18,MID(A2,7,8),MID(A2,7,6))”。解释就是:如果A2单元格的字符数为18就截取A2单元格文本从第7个字符开始的连续8个字符,否则就截取连续的6个字符。
问题到这里其实还没有真正解决,因为15位号码的出生日期中是缺了“19”的,也就是例子中的“060916”应该是“19060916”。这个问题其实不难解决,把公式改成“=IF(LEN(A4)=18,MID(A4,7,8),"19"&MID(A4,7,6))”就行了。这样,就会在截取到的6个数字前自动添加“19”了。
从身份证号码求性别
18位和15位的身份证号码信息还是在不同的位置。15位的在倒数第一位,18位号码则是倒数第二位。如果这个数字是奇数,那么就是“男”,偶数则为“女”。所以,我们应该截取信息码,这次可以利用RIGHT和LEFT函数截取。此外,我们必须判断该数字为奇数还是偶数,这个可以利用MOD函数来解决。然后就是利用IF函数来做判断了。对了,截取到的信息码是文本,咱们还得把它转成数字格式才可以判断是奇数还是偶数,当然,Excel中也有相应的函数VALUE。咱先一个一个地介绍一下相应函数。
RIGHT和LEFT都是截取字符串的。RIGHT从右边截取,而LEFT则是从左边截取,如表1中下面一个表格所示,“=RIGHT(A2,3)”就能截取到A2单元格字符串右边的三个字符,LEFT的用法与此相同。它们结合起来使用,就可以截取中间的某个或某几个字符。所以,截取15位号码的性别信息码应用公式“=RIGHT(A2,1)”,而截取18位号码的性别信息码应用公式“=LEFT(RIGHT(A3,2),1)”,意思是截取A3单元格字符串的右边两个字符后再从左边截取1个字符。当然,用前面刚刚介绍的MID函数也可以截取到信息码的。
把截取到的字符转成数字用到的函数是VALUE。其用法简单,“=VALUE(B2)”就可以把指定单元格的字符转成数字格式。
判断奇数偶数的方法是拿这个数除以2,如果余数为零,那么就是偶数;如果余数为1,当然就是奇数了。求余数的函数是MOD。比如公式为“=HOD(A2,2)”,那就是被除数是A2单元格数据,除数是2,求余数。好了,我们先将截到的信息码转成数字,然后利用公式“=IF(MOD(C2,2)=0,“女”,“男”)”就可以判断性别,并直接填写到相应单元格中。
替换字符串
字符串替换也是我们经常遇到的问题。而其中又可以分为文字替换和数字替换两种方式。
文字替换:我们有一份报表,由于地址有过变更,所以上交的地址栏中使用新老名称的都有。现在我们需要将地址栏中所有的“学院路”改为“金光街”,其它的保持不变。那么就可以使用SUBSTITUTE函数,它的作用就是将字符串中指定的字符替换为新字符。公式“:SUBSTITUTE(A2,“学院路”,“金光街”)”中第二个参数是老字符,而第三个参数则为替换的新字符。