G2输入以下公式,向下复制。=EDATE(D2,IF(F2="男",720,IF(F2&C2="女干部",660,600)))
EDATE函数的作用是根据指定的起始日期和间隔月份,计算从指定日期开始,间隔N个月后的日期。本例中,指定起始日期是D2单元格的出生年月。
间隔月份的公式部分是:IF(F2="男",720,IF(F2&C2="女干部",660,600))这部分看起来有点小复杂,咱们慢慢拆解一下:
先用IF函数判断F2单元格的性别是不是等于"男",如果是,返回720(720个月,也就是60岁)。如果不等于"男",就继续判断F2的性别连接C2的职级,是不是等于"女干部",如果是,返回660(660个月,也就是55岁),如果不等于"女干部",就返回600(600个月,即50岁)。
身份证号码的前六位表示户籍所在地,接下来咱们就看看如何根据身份证号码判断所在籍贯。判断籍贯时,咱们要先准备一份对照表,百度就有很多,我下载的这个对照表里的户籍代码好像不太全
。
在信息表的G2单元格输入以下公式,向下复制。
=VLOOKUP(LEFT(B2,6)*1,身份证代码对照表!A:B,2,0)
首先用LEFT(B2,6)得到身份证号码的前六位,然后使用VLOOKUP函数在代码对照表里查找对应的籍贯信息。因为LEFT函数得到的是文本型的数字,而咱们的代码表里是数值型的,所以用乘以1的方法转换为数值,否则查询会出错了。
最后咱们再看看查找重复身份证号码的问题。I2输入以下公式,向下复制。
=IF(COUNTIF(B:B,B2&"*")>1,"有重复","无重复")
身份证号码的查重和常规的数据查重不太一样,在COUNTIF函数的第二参数后要加上一个星号 &"*"。COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但是Excel中的数字精度只有15位,而身份证号码是18位,这样就会把前15位相同的身份证全部识别为相同的内容。咱们利用Excel中的数值不支持通配符的特点,在第二参数后连接上一个通配符星号 &"*"。就是相当于告诉Excel,要查找以B2单元格内容开头的文本,通过这样变通的手段,COUNTIF函数就听话了。
好了,咱们今天的内容就先这样吧,祝小伙伴和家人们安好。
练习文件:
提取