身份证号码隐藏着你的地区,出生日期,性别信息,如果建的表中有身份证号码那么出生日期、性别、年龄、工龄、退休日期就不用单独录入了,利用公式就可以。这样方便录入提高工作效率。
目前我们用的都18位的身份证号码:1~6位为地区代码,7~10位为出生年份(4位),11~12位为出生月份,13~14位为出生日期,第15~17位为顺序号,并能够判断性别,奇数为男,偶数为女。18位为效验位。
了解了上面的这些内容,接下来说说18位身份证号码的信息提取。
前期准备工作(包括相关工具或所使用的原料等)
电脑详细的操作方法或具体步骤
首选录入信息时,录入身份号那一列全部选中,设置单元格格式中选“文本”,避免出现图2这种情况。


同上,D列全部选中,设置单元格格式中选“日期”。如图。避免出现一串不能理解的数字。

在B3单元格输入以下公式,提取性别:
=IF(MOD(MID(C3,17,1),2),"男","女")
公式中的MID(C3,17,1)部分意思是,从C3单元格第17位数字提取。计算结果是"3"。奇数为男,偶数为女。
MOD函数用于返回两数相除的余数,此例中的MOD函数第二参数使用2,就是用于判断MID函数的结果是否能被2整除,能够整除返回0,否则返回1。
IF函数根据MOD函数的计算结果,返回指定内容。如果MOD函数的计算结果为 1,IF 函数将返回“男”;如果MOD函数的计算结果为0,则返回“女”。

出生日期的提取使用以下公式来完成:
=--TEXT(MID(C3,7,8),"0-00-00")
公式中的MID(C3,7,8)部分,用于提取出C3单元格中身份证号码的第7-14位。计算结果为"19850430",用TEXT函数将这个公式结果强制变成"1985-04-30",前面加了两个减号用于减负运算,将文本"1985-04-30"变成真正的日期格式。

接下来看一下年龄的计算,E3单元格输入以下公式:
=DATEDIF(D3,TODAY(),"y")
DATEDIF函数是一个隐藏函数,没有出现在函数列表中,Excel中的公式自动完成功能也不会自动生成这个函数名称,甚至在多个版本的帮助文件中都找不到这个函数的踪影。
这个函数主要用于计算两日期相差年月日数,利用该函数可计算相差的天数、月数和年数。对于DATEDIF函数的使用方法,咱们可以这样理解:
DATEDIF(起始日期,结束日期,指定的汇总方式)
第三参数为所需信息的返回时间单位代码。各代码对应的含义如下:
第三参数代码 函数返回值
"y" 时间段中的整年数。
"m" 时间段中的整月数。
"d" 时间段中的天数。
"md" 起始日期与结束日期天数的差。忽略日期中的月和年。
"ym" 起始日期与结束日期月数的差。忽略日期中的日和年。
"yd" 起始日期与结束日期天数的差。忽略日期中的年。
在这个公式中,DATEDIF函数返回D3单元格的出生日期到当前日期(TODAY())的整年数,也就是实际年龄。
如果将上面这条公式稍作改动,换成=DATEDIF(入司时间,TODAY(),"y"),那就是咱们常用到的工龄计算公式了。

在F3单元格用下面这个函数计算退休年龄:
=EDATE(D3,660+(B3="男")*60)
EDATE函数用于返回指定日期之前或之后的月数。在本例中,咱们利用了D3单元格已经计算出来的出生日期和B3单元格性别信息作为计算条件。用D3单元格的出生日期作为起始日期,指定的月数是660+(B3="男")*60这串字符初看起来可能有点费解,咱们分解一下:
660,也就是12个月/年*55年(女性退休年龄);(B3="男")*60这里表示如果B3单元格性别是“男”,就再加上60个月(12个月/年*5年),否则就是660。
可以这样理解:如果B3单元格性别是“女”,按=EDATE(D3,660)计算退休日期,如果B3单元格性别是“男”,则按=EDATE(D3,660+60)计算退休日期。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
