减去困扰Excel 2007的date
答案是作为一个date返回,即使我把= int(在这之前。任何明显的原因为什么?
=YEAR(TODAY()-YEAR(J2))
J2是4/10/1939,答案是06/28/05。 为什么这不是简单地输出这个人的年龄?
尝试=INT((TODAY()-J2)/365.25)
作为您的公式返回年龄
使用=year(today()-J2)
将返回年龄加上世纪(1900年),所以你可以从它附加-1900
,但上述解决scheme的工作更简单
你不把括号放在错误的地方吗? 我怀疑你想要这个公式
=YEAR(TODAY())-YEAR(J2)
为了确保你看到的结果作为一个数字格式结果单元格一般
….但是这并不能给“年龄”,因为大多数人会理解它,因为它总是在1月1日增加,而不是在生日那天增加。 多年来获得准确的年龄尝试DATEDIFfunction
=DATEDIF(J2,TODAY(),"y")
对于你的例子,今天会给72,但在生日,2012年4月10日更改为73
注意:DATEDIF在Excel中没有很好的logging,可能不会出现在你的“函数列表”中,但你可以通过在单元格中input它来使用它
这应该工作:
=INT(YEARFRAC(A1,TODAY()))
如果您在同一个单元格中尝试此操作,则必须将该单元格重新格式化为“常规”。 这只是Excel autoformatting的一个难题。
你的公式应该= YEAR(TODAY()) – YEAR(J2)。 公式所在的单元格必须格式化为General或Number,以显示正确的值。 请注意,如果这个人在当年没有过生日,那么这个年龄就没有适当的年龄。
这给出了更准确的年龄= INT((TODAY() – (B1))/ 365)