Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel多个IF、AND或嵌套语句-带日期和时间条件_Excel_Datetime_If Statement_Nested - Fatal编程技术网

Excel多个IF、AND或嵌套语句-带日期和时间条件

Excel多个IF、AND或嵌套语句-带日期和时间条件,excel,datetime,if-statement,nested,Excel,Datetime,If Statement,Nested,我需要写一个“如果”语句,根据一周中的一天和时间输出白天、晚上或周末,如下所示: 如果日期和时间为周一至周五上午7点至晚上9点,则输出日期 如果日期和时间是星期一到星期四晚上9点到早上7点,则输出晚上 如果日期和时间是星期五晚上9点到星期一上午7点,则输出周末。 我的数据如下所示,每半小时递增一次: 2015年4月24日16:30 2015年4月24日18:00 2015年4月24日18:30 2015年4月24日20:30 2015年4月24日21:00 2015年4月24日21:30 201

我需要写一个“如果”语句,根据一周中的一天和时间输出白天、晚上或周末,如下所示:

如果日期和时间为周一至周五上午7点至晚上9点,则输出日期 如果日期和时间是星期一到星期四晚上9点到早上7点,则输出晚上 如果日期和时间是星期五晚上9点到星期一上午7点,则输出周末。

我的数据如下所示,每半小时递增一次:

2015年4月24日16:30
2015年4月24日18:00
2015年4月24日18:30
2015年4月24日20:30
2015年4月24日21:00
2015年4月24日21:30
2015年4月24日23:00
2015年4月24日23:30
2015年4月25日0:00
2015年4月25日0:30
2015年4月25日1:00
2015年4月25日10:00
2015年4月25日11:30
2015年4月25日22:00
2015年4月25日22:30
2015年4月25日23:00
2015年4月25日23:30
2015年4月26日0:00
2015年4月26日0:30
2015年4月26日18:30
2015年4月26日19:00
2015年4月26日19:30
2015年4月26日20:00
2015年4月26日20:30
2015年4月26日21:00
2015年4月26日21:30
2015年4月26日23:00
2015年4月26日23:30
2015年4月27日0:00
2015年4月27日0:30
2015年4月27日1:00
2015年4月27日6:30
2015年4月27日7:00
2015年4月27日7:30

(全年共有17000行半小时数据,因此我更改了一些日期和时间,以便于处理,并且应该有一些数据符合当天、NGHT和周末的所有3个标准)

我在这里研究了这个解决方案,它是有意义的,但我无法让它工作

我已将一周中的某一天输出到第二列,并尝试了以下方法:


=如果(和)(A2=“Fri”,A1=“>9:00:01 p.m.”,A1=“7:00:00 a.m.”,A1=“我假设您在a列中的数据,数据类型为文本。 所以我会得到日期/时间

  • B列:获取日期:=日期(中间(A2,7,4),中间(A2,4,2),左边(A2,2))
  • C列:获取时间:=正确(A2,LEN(A2)-11)
  • D列:Do req:
    =IF(和(工作日(B2)>=2,工作日(B2)=时间值(文本(“7:00”,“HH:mm”)),时间值(C2)=2,工作日(B2)时间值(文本(“7:00”,“HH:mm”)),时间值(C2)>=时间值(文本(“21:00”,“HH:mm”))),“夜间”,“周末”)
  • 请参阅附件。希望对您有所帮助


    将需要一些时间来深入探讨这一点。同时,我建议使用来保持您的思路清晰。谢谢你们,我现在正在尝试您的建议。如果您将A2、A3中最上面的两个日期戳替换为2015年4月23日21:30 2015年4月23日21:30,那么您在d列的前两行中构建的是什么?Hi TQH,当我将你的第一个等式-=日期(中间(A2,7,4),中间(A2,4,2),左边(A2,2)),我得到了8959年6月11日的输出。但是你的附件显示它输出的是2015年4月24日,我缺少了什么?我刚刚上传了文件。非常感谢。我也看到了文件底部的两个夜间值。fantastc。但是当我将A1中的一个值从2130改为2230时,它又做了那个奇怪的日期事情,并将A1设置为“cu”stom',当我将其更改回“general”时,它将变为十进制数。23/04/2015 21:30 23/04/2015 21:30 NIGHT 5 23/04/2015 22:31 11/06/9382 44444#VALUE!3可能是您的输入类型:dd/mm/yyyy。我认为我们应该输入mm/dd/yyyy作为日期,在网格中,我们将格式单元格更改为dd/mm/yyyyy。记住,我拆分了数据(a列)所以它的格式应该是“dd/mm/yyyy hh:mm”