【发布时间】:2016-02-08 15:00:32
【问题描述】:
以下公式适用于大多数日期组合:
=IF(INT(B2)=INT(NOW()),"Today",IF(DAYS(NOW(),B2)>365,IF(DAYS(NOW(),B2)/365.25>1,YEAR(NOW())-YEAR(B2),0)&" years, ","")&IF(IF(MONTH(NOW())-MONTH(B2)<0,MONTH(NOW())-(MONTH(B2)-11),IF(DAYS(NOW(),B2)<28,0,MONTH(NOW())-MONTH(B2)))=0,"",IF(MONTH(NOW())-MONTH(B2)<0,MONTH(NOW())-(MONTH(B2)-11),IF(DAYS(NOW(),B2)<28,0,MONTH(NOW())-MONTH(B2)))&" months and ")&IF(DAY(NOW())-DAY(B2)<0,VLOOKUP(MONTH(B2),{1,31;2,28;3,31;4,30;5,31;6,30;7,31;8,31;9,30;10,31;11,30;12,31},2)-DAY(B2)+DAY(NOW()),DAY(NOW())-DAY(B2))&" days")
除非 B2 是 16/02/2015 15:19:00 并且 NOW() 是 08/02/2016 14:54,其中结果是 20 天,但显然应该是 11 个月零 30 天。 我正在努力寻找我的逻辑漏洞。
【问题讨论】:
-
这个公式试图做什么?
-
这是一个日期比较。如果 B2 是 15/07/2014,它将返回 2 年 6 个月 24 天。如果 B2 是 07/05/2015,它将返回 8 个月零 1 天。如果 B2 是 03/02/2016,它将返回 5 天。
标签: excel excel-formula