如果声明取决于一天中的时间

时间:2015-04-15 16:20:04

标签: excel excel-formula

我需要使用特定的时间,到目前为止我有这个

=IF(AND(TIME(15,45,0)<=(AW15=$A$11,$A$13)),IF(AND(TIME(15,45,0)>=(AW16=$A$13,$A$15))

因此,如果在15:45:00之前,我需要它等于此逻辑测试AW15=$A$11,$A$13,如果在15:45:00之后等于AW16=$A$13,$A$15

希望它有意义,并提前感谢。

2 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您需要将现在的时间与15:45:00进行比较并根据该选项进行选择。如果是这样,解决方案是:

=IF(TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW())) < TIME(15,45,0),
    AW15=$A$11,$A$13, AW16=$A$13,$A$15)

这转换为:如果现在时间是在15:45:00之前,那么AW16=$A$13,$A$15AW16=$A$13,$A$15

如果您想比较特定单元格中的时间,请将TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))替换为具有时间的单元格,例如:

=IF(A1 < TIME(15,45,0),
    AW15=$A$11,$A$13, AW16=$A$13,$A$15)

答案 1 :(得分:0)

所以听起来你正在尝试编写嵌套的IF语句。也就是说,IF A为真,那么如果B也为真则返回结果1,否则(A为真,但B为真)返回结果2,否则(A不为真,B未经测试)返回结果3。

在Excel中,这将写成如下: =IF(Parameter1=Condition1,IF(Parameter2=Condition2,Result1,Result2),Result3)

将它应用到您的场景中,我认为您的目标是:

=IF(TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW())) < TIME(15,45,0),
    IF(AW15=$A$11,$A$13,"Condition1.2"),
    IF(AW16=$A$13,$A$15,"Condition2.2"))

请注意,您的声明未涵盖某些情况,因此我编写了“Condition1.2”和“Condition2.2”,您可以使用其他测试或结果替换它们。

条件1.2是15:45之前的时间,但AW15不等于A11

条件2.2是15:45时或之后的时间,但AW16不等于A13

如果您不想在这些占位符中放置任何内容,但如果满足其中任何一个条件,那么公式将只返回“FALSE”。

此外,如果您不希望测试时间为NOW(),那么您将需要引用包含固定时间戳的另一个单元格来处理该行的时间。 NOW()是易变的,这意味着如果您在15:45之前保存电子表格,然后在15:45之后再次打开它,则您已计算的结果将全部更改。