Google 表格:如果时间在 23:00 到 05:00或从 11:00 PM 到 05:00 AM的范围内,则返回“False”

问题描述

我的公式应该返回 4 种不同的 文本值,具体取决于单元格中的时间值

一切正常,但是每次我尝试让公式查看从23:0005:00的时间,如果在完整公式中,它总是返回 False#N/A。我尝试了 12 小时格式,但效果相同。

=IFS(
AND(TEXT(C18,"HH:MM")>="05:00",TEXT(C18,"HH:MM")<="10:59"),"SS",AND(TEXT(C18,"HH:MM")>="11:00","HH:MM")<="16:59"),"AA","HH:MM")>="17:00","HH:MM")<="22:59"),"MM","HH:MM")>="23:00","HH:MM")<="04:59"),"LL")

在此公式中,除了最后一行之外,一切都正确工作。返回的是 # N/A 而不是 LL。我不明白为什么会这样。

解决方法

试试:

=VLOOKUP(C18,{
 0,"LL"; 
 VALUE("5:00"),"SS";
 VALUE("11:00"),"AA";
 VALUE("17:00"),"MM";
 VALUE("23:00"),"LL"},2,1)

enter image description here

或:

=VLOOKUP(TIMEVALUE(C18),{
 TIMEVALUE("00:00"),"LL"; 
 TIMEVALUE("05:00"),"SS";
 TIMEVALUE("11:00"),"AA";
 TIMEVALUE("17:00"),"MM";
 TIMEVALUE("23:00"),1)

enter image description here

,

更新答案:

由于您覆盖了当天的完整时间范围,如果 IFS 的返回值为 NA,则表示没有匹配。在这种情况下,返回 LL:

=ifna(IFS(
AND(TEXT(C18,"HH:MM")>="05:00",TEXT(C18,"HH:MM")<="10:59"),"SS",AND(TEXT(C18,"HH:MM")>="11:00","HH:MM")<="16:59"),"AA","HH:MM")>="17:00","HH:MM")<="22:59"),"MM"),"LL")

example

,

试试:

=IFS(
 (TEXT(C18,"HH:MM")>="05:00")*(TEXT(C18,(TEXT(C18,"HH:MM")>="11:00")*(TEXT(C18,"HH:MM")>="17:00")*(TEXT(C18,"MM",((TEXT(C18,"HH:MM")>="23:00")*(TEXT(C18,"HH:MM")<="23:59"))+
((TEXT(C18,"HH:MM")>="00:00")*(TEXT(C18,"HH:MM")<="04:59")),"LL")

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...