网上介绍了很多从Excel软件中用身份证号码提取年龄的公式,我想可以用很简单的公式计算石头。

但是笔者的尝试真的没有那么简单。用那个简单公式计算的石头经常是错误的,不准确。今天晚上,我和身份证石提取操作较量了半天,碰上了各种疑难杂症,最后经过我的探索,获得了一些收获,这里总结一下,供大家参考。

一、身份证号码是官方计算、信息提取,如何处理?

首先发现从其他表格复制的身份证号码有问题,该怎么办?

在这个过程中,我遇到的第一个问题是,身份证号码表面上看起来像文本,但输入公式就不能计算。这说明从其他表格身份证一栏复制的身份证号码本身有问题。没有资格。您可以计算可在excel公式中引用的数据。用某个工具检查后发现,这些身份证号码同样是不合格数据。

能怎么办?如何将这些不符合标准的ID号转换为符合标准的ID号?我想起了我的老方法,就是先找中介切换,用合规数据处理。特别是创建新的word文档,查看word文档中此ID号存在哪些格式问题,然后在word中使用批量查询替换方法删除不符合标准的格式,并将这些ID号视为纯的、符合标准的数据。说要做就做。

1.首先创建新的空白word文档,从原始Excel表中复制身份证号,然后粘贴到“仅粘贴文本”中。

果然看到了问题。也就是说,这些身份证号码在形式上有猫腻,前后加了很多符号。

2.您可以使用word文档查找替换功能,找到格式的符号也替换,删除身份证号码前后的所有符号。

3、下一步该干什么?

将已处理ID号的文本转换为列表,以便复制和粘贴到Excel表单中。

具体操作请看这里。

我们终于制作出只有一列的表格,选择所有这些列数据,将这些列身份证号数据“复制”、“粘贴”并粘贴到excel表格中,就是可以用于公式计算的合规数据。

因为身份证号码很多,粘贴到Excel单元格时,请不要忘记先将该列设置为纯文本格式。只有贴上过去的身份证号码,才没有问题。然后在将数据粘贴到excel单元格中时,这样粘贴。

不是

article.detail&_iz=31825&index=7" width="640" height="470"/>

二,得使用比较靠谱的身份证提取周岁计算公式,网上罗列的个别简单的公式都是有瑕疵的,结果不准确。比如这个:

在要计算年龄的单元格内输入YEAR(TODAY())-MID(F2,7,4),

问题在于:这个公式从身份证号码中提取出来的只有年份的4位数,这种计算方法是不准确的,得到的结果只能是个概数。

因为根据身份证号码包含的出生日期判断周岁,必须精确到出生的年月日那一天,不到那一天要减1,过了那一天(包含那一天)才是拿今年的数值减去身份证出生年的数值。

所以上面那个公式不可以用。


来自网络经过验证准确的三个公式,保存在此,供分享和我自己学习,在此感谢这些前辈。

1,=DATEDIF(IF(LEN(F2)=18,DATE(MID(F2,7,4),MID(F2,11,2),MID(F2,13,2)),IF(LEN(F2)=15,DATE("19"&MID(F2,7,2),MID(F2,9,2),MID(F2,11,2)),"")),TODAY(),"Y")

看到这个公式中包含了对身份证号码长度的判断,适用于包含着15位号码的身份证号码的计算,不过这种应用场景应该很少了。

2,

=IF((TODAY()-DATE(YEAR(TODAY()),MID(F2,11,2),MID(F2,13,2)))<0,(YEAR(TODAY())-MID(F2,7,4)-1),YEAR(TODAY())-MID(F2,7,4))

这是一位高人用一己之力构造的判断公式,包含着逻辑判断,没有过生日那一天,年份减1,过了生日那一天,不用减1.

3,最简单的公式来了,就用这两个中的一个吧。

前提是Excel版本支持。

=DATEDIF(TEXT(MID(F2,7,8),"0-00-00"),NOW(),"y")

或者=DATEDIF(TEXT(MID(B2,7,8),"0-00-00"),TODAY(),"y")

学习探索的过程很累,但是值得。

歇会儿。[啤酒]

1.《【excel怎么求周岁】excel身份证只拔石头没那么简单。》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【excel怎么求周岁】excel身份证只拔石头没那么简单。》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2507693.html