在这里作者使用公式来进行设置,因为条件格式的精华和难点都在公式设置条件格式上。
现在我们按照习惯性思维输入一个公式:="08:46"<$A$3<"09:00"
那么这个公式对了吗?!
答案是不对!
那么错在哪里?
有3点:
一是条件格式公式设置输入单元格时要使用相对引用,因为引用单元格时系统默认为绝对引用,而绝对引用,会使得条件格式无法向下运行公式,而无法应用到整个区域,因此要记住手动调整单元格引用方式。
二是公式表达式错误,大于一个数字我们可以直接用">"号,但如果还有一个条件是小于一个数,却不能直接用"<"它。比如3>2,这个表达式的结果是逻辑值"true",如果2<3<4,也就是"true<4",那明显是错误的。
三是公式与数据时间值不对应。啥意思?在数据表中,时间值是文本的格式,很多情况下,软件或者erp系统导出的数字通常是文本格式,如何快速辨认一个数字是不是文本格式,可以参考作者的这篇文章《》。而在公式中,“08:46”它不是你想当然的时间值,而是一个文本值,文本值能够执行计算吗?当然不能,除非你把文本值转换为数值。
因此即便是通过上面直接使用“介于”的功能操作,执行的结果仍然是无效的,错误的,因为数据表中的值是文本值,无法进行基础运算。
所以,大家注意一个关键词“把文本值转换为数值”。
在excel中,有几个函数是可以将文本值直接转换为数值的,比如求时间值的timevalue函数,公式如下图所示:
timevalue函数可以将一个文本的时间转换为数值,结果以一个包含众多小数位的数字表示。
那么当数据表中的文本值都可以转换为数值,便可以通过公式进行大小的比较。
接下来我们输入一个条件判断公式:=AND(TIMEVALUE(A3)>TIMEVALUE("08:45"),TIMEVALUE(A3)<TIMEVALUE("09:00"))