计算年龄不是新鲜的问题了,但如果只知道出生年月,该怎么计算年龄呢?
经常看我们教程的同学应该知道,在已知出生日期的情况下,计算年龄可以用公式=DATEDIF(A2,TODAY(),'y'),这里假设A2里就是出生日期。
但是今天这个问题显然不能直接套用公式,有两点问题:
1、日期信息不完整,只有年和月;
2、日期分隔符不标准,在Excel中,标准的日期分隔符是-或者/,而不是小数点。
因此,要用年月计算年龄就得先搞定这两个问题。
第一个问题就得和求助者沟通了,既然没提供完整的日期,那么就用对应月份的1号。
第二个问题需要把小数点替换为-。
公式=SUBSTITUTE(B3,'.','-')可以解决第二个问题。
因为SUBSTITUTE函数的作用就是替换,关于这个函数的具体用法可以参考之前的教程:
【Excel函数教程】干货!find、search、substitute、replace四个函数一文搞定
在这个公式的后面加上&'-1'似乎就把两个问题都解决了。
现在把这个公式代入DATEDIF里,似乎问题就解决了,赶紧验证一下。
结果正确!
最后再啰嗦两句,这个公式在某些版本可能会得到错误结果。
这是因为SUBSTITUTE(B3,'.','-')&'-1'得到的是一个文本结果,只是形似日期而已。
对于一些低版本的Excel来说,还需要对格式进行转化才能得到正确结果。
转化的方式也很简单,在这部分公式前加--转为数值,完整的公式是:
=DATEDIF(--(SUBSTITUTE(B3,'.','-')&'-1'),TODAY(),'y')
这样就万无一失了。
如果你有任何关于Excel使用方面的问题
都欢迎来学习群获得帮助
联系客服