条件格式不适用于日期小于今天(),仅大于今天()。
我有一个IF语句,里面有两个VLOOKUPS。如果所查看的单元格为空,其中一个输出“未注册”。另一个,只需复制另一个电子表格上的数据。
=IF(VLOOKUP($A5,Table,@MATCH(D$3,Headings,0))=0,"Not
Registered",VLOOKUP($A5,Table,@MATCH(D$3,Headings,0)))
条件格式设置为:
cell values >= TODAY() are green cell values < TODAY() are red cell values = "Not Registered" are yellow
我怀疑条件格式没有正确读取日期。每个日期单元格都被格式化为长日期。
发布于 2019-09-05 00:27:36
出现这个问题是因为A3是空的。
更改规则以使用=Today()
或使用所需日期填充A3。
编辑1:如果不适合您,请检查应该是红色的单元格的数据类型。如果这些不是真正的日期(而是文本),那么它们将永远不符合条件。确保所有看起来像日期的单元格都包含日期(而不是文本)。
如果查找表将日期存储为文本,那么您可以在那里进行更改,因为Vlookup将返回相同的数据类型。
编辑2:选择单元格并更改其格式的不会将文本转换为日期。您可以通过将日期的格式更改为General来测试日期是否真的是日期。如果这导致单元格显示一个数字,那么它就是一个真正的日期。但是,如果单元格外观没有改变,则值为文本,您需要一种不同的方法。
一种选择是使用带有类似于=DateValue(A1)
的公式的助手列。复制辅助单元格并将其作为值粘贴到原始单元格上,然后格式化为日期。
或者,将零放入任何单元格中,复制该单元格,然后选择所有可能是日期的单元格,然后使用粘贴特殊>勾选"Add“> OK。它将将作为文本存储的日期转换回其内部存储号。然后将单元格格式化为日期。
或者,在Vlookup之后执行转换,方法是将DateValue包装在VLookup公式周围。
=DATEVALUE(VLOOKUP("a",A1:B1,2,0))
B1中的“日期”实际上是文本。Vlookup将其返回为文本,但DateValue()则将其转换为日期。如果此选项引发错误,则日期文本与预期日期的区域设置不一致。
发布于 2019-09-05 01:59:29
原因:每当单元格通过小于今天的规则时,计算机就会将其读取为零,因此它将返回true,因为零比今天少。
解决方案:在条件格式规则管理器上,尝试为未注册的规则启用停止(如果为真)。
https://stackoverflow.com/questions/57796668
复制相似问题