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