我想知道是否有人可以帮助我解决这个Excel公式问题。
我有一个字段,其日期采用以下格式
2018-07-02 11:37:19 YYYY-MM-DD HH:MM:SS
在相邻列中,我有以下公式,该公式显示日期并将时间四舍五入到最接近的30分钟(如果今天是今天)或添加一些文本(如果是历史日期)。
=IF(
A2<=TODAY()-1,
"16 Hours Failed",
IF(
A2<=TODAY(),
"16 Hours Failed Yesterday",
FLOOR(A2,0.5/24)
)
)
最后,我还有另一列(下面粘贴的公式),该列使用Col B来确定其是否已经失败,已经失败的工作正常。但是TODAY()
函数都不起作用,我感觉这可能与Excel解释TODAY()
的方式有关。谁能帮忙吗?
=IF(
B2="16 Hours Failed",
"Failed Already",
IF(
B2="16 Hours Failed Yesterday",
"Failed Yesterday",
IF(
B2=TODAY(),
"Failing Today",
IF(
B2=TODAY()+1,
"Failing Tomorrow",
IF(
B2>=TODAY()+2,
"Failing After 3 Or More Days",
INT(B2)
)
)
)
)
)
答案 0 :(得分:4)
FLOOR(A2, 0.5/24)
向下舍入到最近的半小时。
TODAY()
返回一个包含零时间成分的日期(午夜)。
对于源日期,时间从00:00:00到00:30:00,两者只会是相等的。
显然你想要
IF(
INT(B2) = TODAY(),
...
IF(
INT(B2) = TODAY()+1,
...