使用条件检查的Excel数据验证

时间:2019-03-21 10:36:07

标签: excel validation conditional

我正在尝试在以下情况下添加验证...

键入单元格A5中的日期必须大于单元格B4中的日期 和 如果存在,则该日期必须小于单元格B5中的日期。

以下自定义数据验证无效。...

=AND(A5>B4,IF(ISBLANK(B5),TRUE,A5<B5))

尽管我可以通过VBA对此进行验证,但我想尝试并尽可能避免这种情况。

2 个答案:

答案 0 :(得分:0)

我已经完成了数据验证规则,但是我必须承认这不是最优雅的方法。

enter image description here

我的Excel不是英语,所以我会尝试翻译。

我选择:

  1. 允许日期
  2. 重要:取消选中忽略空格
  3. 之间的数据
  4. 初始日期= B4+1(+ 1,因为它必须比更大
  5. 结束日期= =(IF(B5="";73050;B5-1))

是的,我们必须使用一个公式作为End Date,如果B5为空,它将返回73050。 73050等于2099年12月31日(您可以看到的范围很大)。您可以根据自己的需要进行调整。这就是为什么我说这不是最优雅的方式。

不让我们对其进行测试。我在B4中的日期是2019年3月1日。B5中的日期是空的,因此A5中的日期必须比2019年3月1日大更大

enter image description here

它正常工作。让我们看看是否我们输入的日期等于或小于2019年3月1日而b5为空

enter image description here

它也起作用。出现错误消息,并且您不能将此值保存到单元格中。

现在,如果我们在B5中放置一个日期,则数据验证规则仅允许两个日期之间的值,不包括初始日期和结束日期。我们来看一下:

enter image description here

请注意,在我测试的日期为2019年3月31日的最后一张图像中。由于B5为2019年3月21日,因此不允许。但是如果B5为空,则可以,因为它更大比B4。

enter image description here

因此,这里的技巧可以分为两个部分:

  1. 如果B5为空,则数据验证规则将仅接受b4和2099年12月31日之间的日期
  2. 如果B5不为空,则数据验证规则将仅允许B4和B5之间的日期

这是我所能得到的最好的。希望您可以适应您的需求。

答案 1 :(得分:0)

更新

我通过重新处理测试并删除“忽略空白”复选框(感谢下面答案的提示)设法使验证生效。

=AND(A5>B4,IF(B5 <> "",A5<B5, TRUE))

我假设ISBLANK一旦返回false,验证就会失败。