If 语句取决于一天中的时间
If statement depending on time of day
我需要使用特定的时间,到目前为止我有这个
=IF(AND(TIME(15,45,0)<=(AW15=$A,$A)),IF(AND(TIME(15,45,0)>=(AW16=$A,$A))
因此,如果在 15:45:00 之前,我需要它等于此逻辑测试 AW15=$A,$A
,如果在 15:45:00 之后等于 AW16=$A,$A
。
希望它有意义并提前致谢。
如果我对你的问题理解正确,你需要将现在的时间与15:45:00
进行比较,并据此做出选择。如果是这样,解决方案是:
=IF(TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW())) < TIME(15,45,0),
AW15=$A,$A, AW16=$A,$A)
这转化为:如果现在的时间在 15:45:00 之前,则执行 AW16=$A,$A
否则执行 AW16=$A,$A
如果要比较特定单元格中的时间,请将 TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))
替换为具有时间的单元格,例如:
=IF(A1 < TIME(15,45,0),
AW15=$A,$A, AW16=$A,$A)
所以听起来您正在尝试编写嵌套的 IF 语句。即IF A为真,THEN IF B也为真THEN return结果1,否则(A为真,B不为真)return结果2,否则(A不为真,B未测试) return 结果 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,$A,"Condition1.2"),
IF(AW16=$A,$A,"Condition2.2"))
请注意,您的陈述未涵盖某些场景,因此我写了 "Condition1.2" 和 "Condition2.2",您可以将其替换为 return 的其他测试或结果。
条件 1.2 是 15:45 之前的时间,但 AW15
不等于 A11
。
Condition2.2 是时间等于或晚于 15:45,但 AW16
不等于 A13
。
如果您不想,则不必在这些占位符中放置任何内容,但如果满足其中任何一个条件,则公式将简单地 return "FALSE".
此外,如果您不希望测试时间为 NOW()
,那么您将需要引用另一个单元格,该单元格包含一个固定的时间戳,用于处理行的时间。 NOW()
是易变的,这意味着如果您在 15:45 之前保存电子表格,但在 15:45 之后再次打开它,您已经计算的结果将全部改变。
我需要使用特定的时间,到目前为止我有这个
=IF(AND(TIME(15,45,0)<=(AW15=$A,$A)),IF(AND(TIME(15,45,0)>=(AW16=$A,$A))
因此,如果在 15:45:00 之前,我需要它等于此逻辑测试 AW15=$A,$A
,如果在 15:45:00 之后等于 AW16=$A,$A
。
希望它有意义并提前致谢。
如果我对你的问题理解正确,你需要将现在的时间与15:45:00
进行比较,并据此做出选择。如果是这样,解决方案是:
=IF(TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW())) < TIME(15,45,0),
AW15=$A,$A, AW16=$A,$A)
这转化为:如果现在的时间在 15:45:00 之前,则执行 AW16=$A,$A
否则执行 AW16=$A,$A
如果要比较特定单元格中的时间,请将 TIME(HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))
替换为具有时间的单元格,例如:
=IF(A1 < TIME(15,45,0),
AW15=$A,$A, AW16=$A,$A)
所以听起来您正在尝试编写嵌套的 IF 语句。即IF A为真,THEN IF B也为真THEN return结果1,否则(A为真,B不为真)return结果2,否则(A不为真,B未测试) return 结果 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,$A,"Condition1.2"),
IF(AW16=$A,$A,"Condition2.2"))
请注意,您的陈述未涵盖某些场景,因此我写了 "Condition1.2" 和 "Condition2.2",您可以将其替换为 return 的其他测试或结果。
条件 1.2 是 15:45 之前的时间,但 AW15
不等于 A11
。
Condition2.2 是时间等于或晚于 15:45,但 AW16
不等于 A13
。
如果您不想,则不必在这些占位符中放置任何内容,但如果满足其中任何一个条件,则公式将简单地 return "FALSE".
此外,如果您不希望测试时间为 NOW()
,那么您将需要引用另一个单元格,该单元格包含一个固定的时间戳,用于处理行的时间。 NOW()
是易变的,这意味着如果您在 15:45 之前保存电子表格,但在 15:45 之后再次打开它,您已经计算的结果将全部改变。