Excel中最精确的计算年龄的公式
-
Excel
中最精确的
计算年龄
的
公式
(
网上搜到的共式大概有这么几种:
1
、
计算
出生日期到某一指定日期(一般
选用某年的最后一天入
2006
年
12
月
31
日)的的天数,然后除以
360
,得到一个数值,然后用
int(
)
函数取整,得出
需要的
年龄
。一般使用的
公式
如下:
=IF(C12=
聪明一点的人
知道使用这个
公式
,
=IF(C12=
这个方法,这个<
/p>
公式
的弊端在于,一、将每个月默认为
3
0
天去
计算
两个日期之
间的天数,二、将每年默认为
360
天去
计算年龄
。这种方法显然不精确。
2
、年份直接相减
计算
周岁
=YEAR(NOW())-YEAR(C12)
计算
虚岁
=YEAR(NOW())-YEAR(C12)+1
这种算法的精确程度显而易见,粗略估算还算可以。
3
、使用
DATEDIF
函数
这种方法与第一种方法采用了相同的思路,
但是其的精确程度显然比第一种方法
要高,这取决于
DATEDIF
函数本身的精确性。
=IF(C12=
或者,
=IF(C12=
但是这种方法强行
将一年固定为
365
天,
我们知道通常
情况每个四年就有一年是
366
天所以这种算法也不是很精确。
通过认真分析,
我觉得只有结合我们
计算年龄
的实际方法,
才能编制出准确
无误的
公式
< br>。
首先分析人们
计算年龄
的方法
,
例如,
笔者系
1983
年
3
月
20
日生
人,
如果要在
2007<
/p>
年
3
月
23
p>
日这天
计算
他的
年
龄
,
通常采用这样的方法。
首先,
p>
人们会用
2007
减去
1983
得出的
年龄
为
24
岁,然后再看看他“满没满”24
岁,
就是看看出生的月份和日期比今天早还是晚,
如果出生日期晚于今天则
表示没有
满,那么他的
年龄
就应该是<
/p>
2007-1983-1=23
岁。如果出生日期早于今天或者就
是今天,就说明他已经满了
24
岁或者
正好满
24
岁,则他的
年龄
就是
2007-1983=24
岁。分析清楚了<
/p>
计算年龄
的过程我们再根据这个过程编写
公式
就
很容易了。
< br>综上,我编写了如下公式,在实际应用中将公式中所有的
C12
< br>替换为,你的所
使用的出生日期所在的表格行号列号组合即可。如(
A1
,
B2
等等)
=IF(MONTH(NOW())
W(
))>MONTH(C12),YEAR(NOW())-YEAR(C12),IF(DAY(NOW())>
=DAY(C12),YEAR(N
OW())-YEAR(C12),YEAR(NO
W())-YEAR(C12)-1)))
公式说明
-