求Excel里面算包括2000年以后的年龄公式?要进行详细说明,谢谢,好的会送上100大分。

是利用身份证信息进行计算,求计算2000年之后出生的年龄统计。谢谢。

看看这个对你有没有用 原来在网络上收集的资源 可能与你的需求差不多
用excel函数利用身份证信息提取出生年月、性别、年龄!
一、建立有关身份证信息的表格:
1、建立一个有关身份证信息的表格:以excel2003为例,要完整的输入18位的身份证号,输入身份证号的单元格的格式应进行如下设置:
1)、如下图,先选中要输入身份证号的单元格,点右键,选择设置单元格格式,进入单元格格式面板,选数字,分类选文本,我们输入的身份证号为“文本)

2)、点确定后,输入身份证号。

二、提取出生年月日:
1、点C2单元格,插入函数,提取出生年月:点“插入”—“函数”,出现插入函数面板,我们选“date”函数,点确定,如下图:所谓DATE函数,就是找到待找区域内代表日期的数字:

2、进入DATE函数面板:如下图:DATE函数包括三个内容:YEAR(年)、MONTH(月)、DAY(日),对于本例来说,我们就是要在B2单元格内的身份证信息中找到某人的出生年月日数字,使之显示在C2单元格内。

3、我们知道,现在中国的所有身份证号码都是18位的,比如:B2单元格内的身份证号码:4*****197010056568
从左往右数,第7-10位为某人的出生年份:1970年,第11-12位为某人的出生月份:10月,第13-14位为某人的出生日期:05日。此时,我们要在DATE函数中嵌套MID函数,提取相关的信息。
我们看到:我们在YEAR栏里,输入了MID(B2,7,4),MID(B2,7,4)就是MID函数的格式,什么意思呢?B2就是要查找的区域,我们要找的文本信息(身份证号)在B2单元格内;“7”的意思是我们要找的年份信息在文本信息的从左往右数的第几位开始出现,在第7位,所以我们填“7”;“4”的意思是,这个信息共有几位,年份信息共有4位,所以我们填4。查找月份、日期信息是MID函数的重复应用,是一个意思。

4、MONTH栏里,嵌套MID函数,MID(B2,11,2),意思是月份信息在B2单元格内从左往右数的第11位开始,共2位:也就是10。

5、DAY栏里,嵌套MID函数,MID(B2,13,2),意思是日期信息在B2单元格内从左往右数的第13位开始,共2位:也就是5。

6、点确定,如下:

7、复制函数,把光标移到C2单元格的右下角点上,出现十字标记时向下拉,复制函数,如下:

三、提取性别:
1、点选D2单元格,插入IF函数。

2、进入IF函数面板:

3、logical_test栏嵌套函数:
logical_test里填的是任何一个可判断为对或错的数值或表达式。
我们看到IF函数里嵌套了两个函数,分别是MID函数和INT函数。
什么是INT函数呢?是返回数值向下取整为最接近的整数,本例用来判断身份证里数值的奇偶数。表达式是:=IF(MID(B2,17,1)/2=INT(MID(B2,17,1)/2))
什么意思呢?如果MID(B2,17,1)/2(意思是B2单元格里的文本信息从左往右数第17位开始,只取第17位这1位数的数值除以2)等于INT(MID(B2,17,1)/2(意思是整数)的话,也就是偶数的话。

4、Value_if_true的意思是,如果表达式满足的话,返回一个真值,对于本例来说,我们都知道,18位身份证号的第17位是性别的识别码,如果是奇数,就是男的,如果是偶数,就是女的。所以此栏填“女”

5、如果是奇数,也就是Value_if_false填男。

6、点确定,计算结果为女,复制函数,如下:

四、计算年龄
1、点E2单元格,插入if函数:嵌套的函数有year函数、now函数、month函数、int函数、day函数,都是很简单的,看一下就明白了:
对了,说一下嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数,就像我们已经和正在用到的。
下面这种算法,是最准确的算法,涵盖了各种可能,只是公式较长:如下:
=IF(MONTH(NOW())<MONTH(C2),INT(YEAR(NOW())-YEAR(C2))-1,IF(MONTH(NOW())>MONTH(C2),YEAR(NOW())-YEAR(C2),IF(DAY(NOW())>=DAY(C2),YEAR(NOW())-YEAR(C2),YEAR(NOW())-YEAR(C2)-1)))
这么长,是什么意思呢?
“=IF(MONTH(NOW())<MONTH(C2),INT(YEAR(NOW())-YEAR(C2))-1,”的意思是:如果当前日期的月份小于所需计算日期的月份,则表示今年没有过生日,年龄数为YEAR(NOW())-YEAR(D2)-1,如果不是这种情况,进入下一步判断;month(now())是指当前月份,now函数是month函数的一个参数,month(c2)是针对本例而言的,c2单元格是出生年月,对其它应用而言,就是你设计的单元格了。int函数就是取整数函数。
“IF(MONTH(NOW())>MONTH(C2),YEAR(NOW())-YEAR(C2),”的意思是:如果当前日期的月份大于所需计算日期的月份,则表示今年已经过生日,年龄数为YEAR(NOW())-YEAR(D2),如果也不是这种情况,则表示这两个月份相等,进入下一步判断;year(now())-year(c2),就是用当前的年份减去出生的年份(c2单元格的出生年份,对本例而言)。
IF(DAY(NOW())>=DAY(C2),YEAR(NOW())-YEAR(C2):如果今天的日期大于或者等于出生年月日中的日期,则表示已经过了生日,或者正在过生日,则年龄数为YEAR(NOW())-YEAR(C2),否则表示今年没有过生日,年龄数应该选择下面的公式,大小为YEAR(NOW())-YEAR(C2)-1)))
其实,如果我们的出生年月栏里,只有出生年月,IF(DAY(NOW())>=DAY(C2)之后的部分就可以省掉了。计算年龄的公式就可以变为:
=IF(MONTH(NOW())<MONTH(C2),INT(YEAR(NOW())-YEAR(C2))-1,IF(MONTH(NOW())>=MONTH(C2),YEAR(NOW())-YEAR(C2)))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-18
假设你的身份证信息在A列中,数据从第二行开始,在B2单元格中输入公式:
=MID(A2,7,4)
下拉复制公式,即可得到年龄;
如果还要统计什么数据,请明示!本回答被提问者和网友采纳
第2个回答  2012-06-18
算年龄的公式少不了 datedif 函数。
旧的身份证是16位数字的,新的是18数的。这样,得到一个身份证号就要先通过len()函数判断它有多少位数,然后通过mid/right/left中的某个函数提取数据(至于用哪个函数按个人喜好了)得出出生年月日以及性别,然后用 datedif 函数算出年龄。
例如:在单元格A1有一身份证号码:452425198710290405
在单元格B1输入函数:=if(len(A1)=18,mid(7,8),mid(6,6)) 这样,在B1单元格就能得出出生年月日
第3个回答  2012-06-19
如果只是根据年份计算,不管月份的细节计算的话,公式如下:
假设A列为身份证号码,要求是身份证号码填写正确的。
=YEAR(TODAY())-MID(A1,7,4)
//到今年的年龄
第4个回答  2012-06-18
=DATEDIF(DATE(MID(C10,7,4),MID(C10,11,2),MID(C10,13,2)),TODAY(),"y")
C10:指身份证号
相似回答