我正在尝试在以下情况下添加验证...
键入单元格A5中的日期必须大于单元格B4中的日期 和 如果存在,则该日期必须小于单元格B5中的日期。
以下自定义数据验证无效。...
=AND(A5>B4,IF(ISBLANK(B5),TRUE,A5<B5))
尽管我可以通过VBA对此进行验证,但我想尝试并尽可能避免这种情况。
答案 0 :(得分:0)
我已经完成了数据验证规则,但是我必须承认这不是最优雅的方法。
我的Excel不是英语,所以我会尝试翻译。
我选择:
B4+1
(+ 1,因为它必须比更大)=(IF(B5="";73050;B5-1))
是的,我们必须使用一个公式作为End Date
,如果B5为空,它将返回73050。 73050等于2099年12月31日(您可以看到的范围很大)。您可以根据自己的需要进行调整。这就是为什么我说这不是最优雅的方式。
不让我们对其进行测试。我在B4中的日期是2019年3月1日。B5中的日期是空的,因此A5中的日期必须比2019年3月1日大更大。
它正常工作。让我们看看是否我们输入的日期等于或小于2019年3月1日而b5为空。
它也起作用。出现错误消息,并且您不能将此值保存到单元格中。
现在,如果我们在B5中放置一个日期,则数据验证规则仅允许两个日期之间的值,不包括初始日期和结束日期。我们来看一下:
请注意,在我测试的日期为2019年3月31日的最后一张图像中。由于B5为2019年3月21日,因此不允许。但是如果B5为空,则可以,因为它更大比B4。
因此,这里的技巧可以分为两个部分:
这是我所能得到的最好的。希望您可以适应您的需求。
答案 1 :(得分:0)
我通过重新处理测试并删除“忽略空白”复选框(感谢下面答案的提示)设法使验证生效。
=AND(A5>B4,IF(B5 <> "",A5<B5, TRUE))
我假设ISBLANK一旦返回false,验证就会失败。