使用"if"功能确定特定时间



我有一个Excel表格,见附图。我想找出哪些单元格(行(包含特定小时数。为此,我使用了 if 函数:

=IF(B2=HOUR("12:00:00");"xx";"yes") 

结果是不正确的。如您所见,结果是"是"对应于 false。问题出在哪里?

此外,我尝试嵌入"and"功能,以便选择多个小时,但excel提示错误消息。我在单元格 B2 中尝试的公式是:

=IF(B2=HOUR(AND("12:00:00";"3:00:00");"xx";"yes"))

错误信息:

包含许多条件

我认为您在比较中交换了参数。 根据文档

[HOUR] 返回时间值的小时

如果我们逐步评估您的配方,我们会得到:

HOUR("12:00:00") -> 12
B2 = 12 -> false
IF(false; "xx"; "yes") -> yes

要解决此问题,请将您的条件更改为HOUR(B2) = 12。 这应该工作一个小时。

如果要检查多个小时值,可以使用OR函数,如前面的答案中所述,但修改条件如下:

IF(OR(HOUR(B2) = 3; HOUR(B2) = 12); "xx"; "yes")

首先,你只是错放了真和假的回归。尝试:

=IF(B2=HOUR("12:00:00");"yes";"xx")

其次,你不想要一个合乎逻辑的,而是一个合乎逻辑的或。你的条件是"如果 B2 是一个小时等于'12:00 和 3:00'",这毫无意义。你想要的是"如果 B2 是一个小时,等于'12:00',或者 B2 是一个小时等于'3:00'"。这应该看起来像:

=IF(OR(B2=HOUR("12:00:00"), B2=HOUR("3:00:00")) ; "yes"; "xx"))

编辑:感谢科拉特的回答,我可以纠正我的。小时不应该这样比较。您应该在单元格上使用函数HOUR而不是值。

=IF(OR(HOUR(B2)=12, HOUR(B2)=3) ; "yes"; "xx"))

最新更新