在Excel中链接多个IF语句以计算从时间的工作class次
我正在尝试根据在Excel工作表中input的时间来计算工作class次。 class次分配如下:
如果时间> = 05:30 PM&<= 01:30 AM – 第一class
如果时间> = 01:30 AM&<= 09:30 AM – 二class
如果时间> = 09:30 AM&<= 01:30 AM – 3class
我正在使用IF AND条件,但它仍然显示不正确的结果。 以下是我正在使用的公式。
=IF(AND(D2>=TIMEVALUE("05:30:00 PM"),(D2<=TIMEVALUE("01:30:00 AM"))),"1", IF(AND(D2>=TIMEVALUE("01:30:00 AM"),(D2<=TIMEVALUE("09:30:00 AM"))),"2","3"))
任何想法我做错了什么?
第一个问题是你的轮class定义。 由于使用less于或等于操作符,所以三个class中的时间是1:30 AM
。 这些应该更改为less于运营商,如下所示:
如果时间> = 5:30 PM&<1:30 AM – 1class
如果时间> = 1:30 AM&<9:30 AM – 2class
如果时间> =上午9:30和下午5:30 – 第三class(注意:我在这里修正了明显的错字)
第二个问题是在第一个if
语句中:
IF(AND(D2>=TIMEVALUE("05:30:00 PM"),(D2<=TIMEVALUE("01:30:00 AM"))),"1",...)
时间不能同时大于5:30:00 PM
和不到01:30:00 AM
。 Excel中的时间存储为数字。 TIMEVALUE("1:30 AM")
返回0.06250
, TIMEVALUE("5:30 PM")
返回大约0.72917
。 结果这个if
语句翻译成以下内容:
IF(AND(D2>=0.72917, D2<=0.06250), "1", ...)
D2
不能大于或等于0.72917
,小于或等于0.06250
。 因此,这将始终返回false。
尝试重写你的代码如下:
=IF(D2<TIMEVALUE("1:30 AM"),"1", IF(D2<TIMEVALUE("9:30 AM"),"2", IF(D2<TIMEVALUE("5:30 PM"),"3","1")))