博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
和身份证有关的5个Excel函数公式
阅读量:5278 次
发布时间:2019-06-14

本文共 1357 字,大约阅读时间需要 4 分钟。

和身份证有关的5个Excel函数公式

以下是一组和身份证有关的函数公式,如果你是财务人员或是一名HR,那就一起来看一下啦:
1、查找重复身份证号码:
=IF(COUNTIF(A:A,A2&"*")>1,"重复","")
要点:
在COUNTIF函数的第二参数后加上一个星号 &"*"。
COUNTIF函数在计算文本型数字时,会默认按数值型进行处理,但是Excel中的数字精度只有15位,并且身份证号码是18位,因此会把前15位相同的身份证全部识别为相同的内容。在第二参数后加上一个星号 &"*",就是告诉Excel,要查找包含A2单元格内容的文本,通过这样变通的手段,COUTNIF函数就听话啦。
2、用出生年月来计算年龄:
=DATEDIF(A4,TODAY(),"y")
要点:
DATEDIF函数用于计算两个日期之间的间隔。用法是:
=DATEDIF(开始日期,结束日期,指定要返回的类型)
第三参数是Y,表示年,是M,就表示月。
TODAY函数返回系统当前的日期。
DATEDIF函数是隐藏函数,输入时没有屏幕提示,需要手工录入哦。
3、根据身份证号计算出生年月:
=--TEXT(MID(A2,7,8),"0!/00!/00")
要点:
身份证号码中的第8位到15位是出生年月信息。
首先使用MID函数从A2单元格的第7位开始,提取出8个字符,得到类似 19840727的结果。
再使用TEXT函数将这个字符串变成日期样式的文本,得到类似1984/07/27的结果。
由于TEXT函数的结果是文本型的内容,所以加上两个小减号 -- 就是计算负数的负数,通过四则运算,变成真正的日期序列。
公式也可以使用=--TEXT(MID(A2,7,8),"0-00-00"),原理是一样的。
4、根据身份证号码提取性别:
=IF(MOD(MID(A2,15,3),2),"男","女")
要点:
身份证号码中的第17位是性别信息,单数表示男,双数表示女。
首先使用MID函数从A2单元格的第15位开始,提取出3个字符。
再使用MOD函数计算这个字符与2相除的余数。
最后使用IF函数判断,如果余数大于0,返回男,如果余数是0,则返回女。
这里使用MID(A2,15,3),是为了兼容15位的旧身份证,这部分公式也可以使用MID(A2,17,1)。
5、根据身份证号计算退休时间:
=EDATE(TEXT(MID(A2,7,8),"0!/00!/00"),MOD(MID(A2,15,3),2)*120+600)
要点:
先用TEXT(MID(A2,7,8),"0!/00!/00"),计算出出生年月信息。
再使用MOD(MID(A2,15,3),2)计算性别码和2相除的余数,结果是1或是0。
如果性别码和2相除的余数是1,MOD(MID(A2,15,3),2)*120+600部分就相当于1*120+600,结果是720。
否则就是0*120+600,结果是600。
EDATE函数返回一个日期经过指定月份后的日期,也就是以出生年月为准,男性要经过720个月(60年),女性要经过600个月(50年)就是退休年龄了

转载于:https://www.cnblogs.com/medik/p/11026410.html

你可能感兴趣的文章
shell之文本过滤(awk)
查看>>
学习进度条--第五周
查看>>
获取spring中所有的bean名称
查看>>
linux常用命令
查看>>
java DecimalFormat
查看>>
简单两步快速学会使用Mybatis-Generator自动生成entity实体、dao接口和简单mapper映射(用mysql和oracle举例)...
查看>>
Spring读书笔记-----Spring核心机制:依赖注入
查看>>
如何挂载阿里云的数据盘
查看>>
block extends include三者的差别跟用法
查看>>
服务器安全
查看>>
系统学习qsort1 尤其partition
查看>>
yield生成器对象返回Fiabs元素 分类: python 小练习 ...
查看>>
HDU 1001 Sum Problem
查看>>
BZOJ 1196 [HNOI2006]公路修建问题(二分答案+并查集)
查看>>
Android学习笔记1:初识框架
查看>>
bzoj 2005
查看>>
杜教筛模板
查看>>
浅谈委托事件
查看>>
装箱问题
查看>>
C++:重载全局new/delete实现跨平台多线程内存检测
查看>>