你的问题在哪里?我们先弄清楚。
1. 对于EXCEL来说,它能使用函数对当前单元格进行赋值等操作,但是并不能实现“当满足某个条件时,对其他单元格赋值”。简单来说,你的公式写在那个单元格里面,就只能对这个单元格做赋值,不能对其他单元格赋值。
2. 你的条件比较乱,对于K2来说,如果E2<8:31的话,K2输入1,那如果11:59>E2>=8:31的话,K2又输入什么呢?类比L2,M2两个单元格,有些时间区间你并没有给出输入结果,我就默认你是想不显示。
那么要实现你的要求,excel公式应该怎么写呢?我给你一个方案你可以考虑下。
1. 在其他单元格先写入你要判断的几个时间,这几个单元格的格式按照如下图。为什么要这样做?在公式做判断的时候,直接引用来做比较,不用把时间再用timevalue函数做二次处理了再比较,就很方便。恩,真香!
2. 你要在K2,L2,M2三个单元格实现条件判断后显示,那么就分别在三个单元格输入公式:
K2=IF(E2 L2=IF(AND(E2>A10,E2 M2=IF(AND(E2 3. 然后就实现了你要的功能,看下效果(我把三个单元格填了颜色方便观察)。 3.1 比如你的条件一:判断E2的时间,小于8:31,则在K2输出1。 3.2 条件二:如不满足条件一的话,当E2大于11:59小于14:01时,L2输入1. 3.3 条件三:如不满足条件二,则当E2小于17:29,则在M2输出1,否则输出“错误”。 你这几个条件确实还没有设置清楚,你再理一理当不满足条件的另外一些时间,对应的单元格应该输入什么,我如上的例子是给你输入空值,就是没输出,你看下是否满足了你的要求。
这个公式写到哪了?需要在哪输出,就应该写到哪。公式里不能有把1赋值给k2这种操作吧。应该在k2里写,e2满足什么就输出什么,否则输出什么。。。
你可以使用“公式”中的“公式求值”一步一步进行计算,检查到底哪一步计算出错的。
你这个公式挺复杂,我只能简单看了一下,TIMEVALUE(TEXT(E2,"h:m")
不能够这样写的。
在K2写公式:=IF(TIMEVALUE(TEXT(E2,"h:m"))