如何创建时间的 YES NO 通知?

如何创建时间的 YES NO 通知?

我有一个公式,可以显示通知客户所花的时间(小时和分钟)。我需要创建另一个单元格来说明YES该通知是否为 4 小时或更长时间。

我目前的公式如下:

=IF(OR(AND(MOD(P2,1)>=TIME(4,0,0))),"YES","NO")

P2通知客户端所花的时间(小时/分钟)是多少。

此公式按我希望的方式工作,除非它等于 4 小时,否则它返回的是NO,而不是YES

任何帮助都将不胜感激!

答案1

除非你没有告诉我们什么,否则我认为你的公式中 OR、AND 或 MOD 毫无用处。实际上,我能想到任何条件,在特定公式中,OR 或 AND 都具有任何用途 - 它们是多条件,用于评估多个条件,如果任何条件(对于 OR)或所有条件(AND)为 TRUE,则返回 TRUE/FALSE。但是,您只有条件,因此 OR 和 AND 的求值结果始终与条件本身相同。MOD 的目的在这里仍然有点令人困惑。很有可能这些位和/或源数据中存在某些东西破坏了您的结果。

就我个人而言,我更喜欢让 Excel 给出一个简单的布尔值 TRUE/FALSE,而不是“是”/“否”,因为这样可以更轻松地在其他公式中使用单元格的值。例如,如果 B1 有一个布尔值,我可以使用=IF(B1,"RUNNING SLOW!","Timely response!")而不是=IF(B1="Yes","RUNNING SLOW!","Timely response!")。编写初始公式也更简单 - 考虑=A1=B1vs. =IF(A1=B1,"Yes","No")

只要您的时间格式为实际时间,这就可以正常工作以返回布尔值 TRUE/FALSE(假设时间在 A1 中):

=A1>=TIME(4,0,0)

在此处输入图片描述

如果你真的想要“是”/“否”的回答,把它放在如果中:

=IF(A1>=TIME(4,0,0),"Yes","No")

在此处输入图片描述


编辑:经过进一步的考虑,我想我可能已经猜到了 MOD 的参与(OR 和 AND 实际上仍然没有任何位置在那里)。

如果你使用 MOD 从日期/时间值中去除日期,那么可能导致您的问题。我不太清楚是怎么回事,但我估计这可能与闰年/闰分/闰秒有关,因为 Excel 存储日期和时间是基于自 1900 年 1 月 1 日以来的时间来存储的。其中可能还涉及一些舍入误差。

抛开猜测,以下是正确的去除公式中的日期部分的方法:

=TIME(HOUR(A1),MINUTE(A1),SECOND(A1))>=TIME(4,0,0)

如果你仍然喜欢“是”/“否”:

=IF(TIME(HOUR(A1),MINUTE(A1),SECOND(A1))>=TIME(4,0,0),"Yes","No")

就此而言,我们甚至可以进一步简化:

=HOUR(A1)>=4

或者...

=IF(HOUR(A1)>=4,"Yes","No")

请注意,HOUR 的可能值上限为 23。但是,如果您无论如何都要使用实际日期/时间格式作为源数据(并且您的公式很好地暗示了您这样做),那么这将不是问题。

相关内容