我需要展示在高峰期改变能源使用对全年能源成本的影响。为此,我想要更改正在使用的能源量,如果B6的时间在上午或下午高峰定价时间之间,则G6中的值为8,或者如果B6不在高峰定价时间内,则保留C6中的值。
早高峰开始06:30:00结束07:45:00
下午高峰开始16:30:00结束23:45:00
我尝试修改这里的代码:excel-if-and-formula-between-two-times
=IF(and(B6>$N$3,B6<$O$3),"8",IF(AND(B6>=$P$3,B6<$Q$3),8,C6))
但是,这不会在所需的时间范围内返回"8“。你可以在谷歌电子表格中看到我用N6、N7和N8编写的代码。
非常感谢你的帮助。
发布于 2020-09-11 10:39:42
请检查您的单元格N3和P3。它们里面有一个额外的05/01/1900。去掉它,留下时间部分,它应该会工作得很好。
问题是,您正在对时间字符串(例如06:45:00 )和完整的日期字符串(例如05/01/1900 06:30:00 )进行比较,这会导致错误的比较。
发布于 2020-09-11 19:21:22
解决方案
在比较中分析的值必须具有相同的数据类型,并且在此数据类型中必须具有一致的数据。在本例中,B6、N3、O3、P3和Q3都设置为数据类型Time。但是,在除B3之外的所有单元格中都使用了Date Time格式。由于您希望将日期与时间进行比较,因此必须将所有这些单元格设置为数据类型Date Time。
为此,在电子表格的菜单栏中,选择所有这些单元格后,选择Format->Number->Date Time并将正确的日期添加到B6。
我希望这对你有所帮助。如果你还需要什么,或者你不明白什么,请告诉我。:)
https://stackoverflow.com/questions/63839935
复制相似问题