我正在尝试计算人们在生日那天的最佳年龄,
我目前正在使用这个计算,
=YEAR(TODAY())-YEAR(C2)-1 + (MONTH(TODAY())>MONTH(C2)) + (MONTH(C2)=MONTH(TODAY()))*(DAY(TODAY())>=DAY(C2))
我需要使用 2011 年 9 月 1 日,而不是使用今天的日期,这可能吗?
我正在尝试计算人们在生日那天的最佳年龄,
我目前正在使用这个计算,
=YEAR(TODAY())-YEAR(C2)-1 + (MONTH(TODAY())>MONTH(C2)) + (MONTH(C2)=MONTH(TODAY()))*(DAY(TODAY())>=DAY(C2))
我需要使用 2011 年 9 月 1 日,而不是使用今天的日期,这可能吗?
=YEARFRAC(DATE(2011,9,1),C2,3)
用 DATE(2011,9,1) 替换每次出现的 TODAY():
=YEAR(DATE(2011,9,1))-YEAR(C2)-1 + (MONTH(DATE(2011,9,1))>MONTH(C2)) + (MONTH(C2)=MONTH(DATE(2011,9,1)))*(DAY(DATE(2011,9,1))>=DAY(C2))
对于在单元格 C2 中的日期出生的人,这将给出他们在 2011 年 9 月 1 日的年龄。
编辑:或者,更简单地说,试试这个:
=2011-YEAR(C2)-1 + 9>MONTH(C2) + (MONTH(C2)=9)*(1>=DAY(C2))
请参阅此电子表格:https ://spreadsheets.google.com/ccc?key=pPbcejygf5gZgPjUVvCZqYQ&hl=en#gid=0
单击年份单元格 ( C5
) 并检查使用生日日期 ( A5
) 和固定日期 ( B5
) 的公式。在您的情况下B5
是2011-09-01
:
=IFERROR(IF(( IF((DAY(B5)-DAY(A5))<0 ; -1;0)+(MONTH(B5)-MONTH(A5)))< 0 ; -1 ; 0)+(YEAR(B5)-YEAR(A5)))
我制作了一个电子表格,它将从该格式的字符串中获取日期并进行计算。在这里查看。
我写了一个公式,将年龄显示为 DOB 中的字符串,例如10y 6m
:
=CONCAT(FLOOR((TODAY() - B2)/365),CONCAT("y ",CONCAT(FLOOR((((TODAY() - B2)/365) - FLOOR(((TODAY() - B2)/365))) * 12), "m")))